[英]Custom JQuery Bundle, MVC5
我有一個簡單的MVC表單,為此,我嘗試糾正一小段JQuery以確定是否選中了一個復選框。 我已經在捆綁包中注冊了我的JS(Sender.js),如下所示:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/Sender").Include(
"~/Scripts/Sender.js"));
}
我認為它已注冊為:
<body>
@Scripts.Render("~/bundles/Sender")
</body>
現在,有兩件事,1)腳本根本不起作用,2)腳本似乎正在div中注冊自己:
這是我第一次嘗試MVC,我敢肯定我遺漏了一些明顯的東西,但可以看到。
有人可以指出我正確的思路以使我的js文件正常工作。 Basicall,它所要做的就是隱藏或顯示一個文本框(如果選中了AML復選框)。
編輯
編輯
這是整個視圖
@model BTSanctions.UserAdmin.Models.EditSenderViewModel
@{
ViewBag.Title = "Edit";
}
@Scripts.Render("~/bundles/Sender")
<h2>Edit</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Add a new Sender</h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.AML, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.AML)
@*@Html.ValidationMessageFor(model => model.MatchPercentage)*@
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.MatchPercentage, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.MatchPercentage)
@Html.ValidationMessageFor(model => model.MatchPercentage)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
由於某些原因,“腳本”一詞經常與瀏覽器混在一起,我也遇到了同樣的問題。 所以我打F12來看看是否正在調用特定的js。 如果有
〜Script / example.js ---> 404 html錯誤代碼,則表示javascript沒有在瀏覽器中呈現。
所以這就是我解決這個問題的方法
**************************解*************
jQuery中捆綁Virtaul路徑名“發件人”必須不符合實際的文件名“Sender.Js”,因為這樣做將會使編譯器困惑呈現的JavaScript。
bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Js/jquery-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include( "~/Js/jquery-ui-{version}.js")); bundles.Add(new ScriptBundle("~/bundles/Senderval").Include( "~/Js/Sender.js"));
您要編寫的所有腳本都必須在Jquery Bundle之后放在head標簽內。
<---頭---->
@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryval") @Scripts.Render("~/bundles/Senderval")
<---- /頭----->
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.