0
我一直在試圖獲得MVC 5遠程驗證工作在我的小項目。爲了獲得它的基礎知識,我一直在閱讀關於捆綁的知識。我創建了一個包我jqueryval
捆綁,像這樣:BundleConfig.cs不生成腳本引用
bundles.Add(new ScriptBundle("~/bundles/jqueryval")
.Include("~/Scripts/jquery-{version}.js")
.Include("~/Scripts/jquery.validate.js")
.Include("~/Scripts/jquery.validate.unobstrusive.js")
);
然而,當我發佈頁面,查看源代碼,所呈現的只是腳本,如下:
<script src="/myApp/Scripts/jquery-2.1.0.js"></script>
<script src="/myApp/Scripts/jquery.validate.js"></script>
通知, query.validate.unobstrusive.js
丟失。現在,我知道這是在讓我的驗證工作,因爲當我手動添加query.validate.unobstrusive.js
到我的視圖頁面,像這樣的關鍵部件:
@section Scripts {
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryval")
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript" />
}
一切只是工作。
所以,現在我仍然想知道,有沒有什麼我做錯了捆綁?爲什麼這個腳本不顯示?
您錯過了'.min',就像在您的第二個源代碼中看到的一樣。 (我猜你剛在包中有一個不好的路徑) – tymeJV
其實,我剛剛在我的硬編碼版本中有'.min',因爲我在開發環境中工作。 MVC會爲您選擇正確的文件。所以,我的解決方案包含'jquery.validate.unobstrusive'的'.js'和'.min.js'文件。根據您發佈的配置,MVC會選擇正確的配置。所以你只需要'.include(「〜/ Scripts/myFile.js」)',只要你指定的目錄中存在'.js'和'.js.min',就會選擇合適的文件,這是我做的。 – Bensonius
@tymeJV,雖然它不是'min'失蹤,但你讓我更仔細地看看我的代碼。原來我拼寫錯誤「不顯眼」! DOH!我糾正了拼寫和捆綁工作。第二套眼睛總是有幫助的。 – Bensonius