[英]Javascript does not run on PartialView
我正在將MVC4與C#和Razor一起使用,以制作一個簡單的Web應用程序。
在我的控制器中,我有一個方法可以返回顯示給用戶的局部視圖,在這種情況下為模式彈出窗口:
public ActionResult GetPackageDetails(int id)
{
return PartialView("_EditPackageModal", new ModalEditPackage());
}
局部視圖是一個模態彈出窗口,如預期的那樣顯示,但未運行任何javascript:
@model SuperApp.Model.ModalEditPackage
<div class="modal fade bs-example-modal-lg" id="editPackageModal" tabindex="-1" role="dialog" aria-labelledby="editPackages" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel">Edit Package @Model.packageName</h4>
</div>
<div class="modal-body">
<div>
<label class="control-label">Package Name: </label>
<input type="text" class="form-control" id="package-name" placeholder="@Model.packageName">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
這是我希望在部分視圖上運行的javascript代碼:
<script>
$("input").click(function () {
alert("hello world!");
});
</script>
看完這個問題:
我意識到我必須在局部視圖中包含腳本。 總結一下:
<script>
標記在局部視圖中直接指定的JS代碼。 現在,在此示例中這很好,但是在現實世界中,我有幾個腳本可用於部分視圖,而且它們很大。 此外,客戶端已經下載了它們,因為它們正在其他視圖中使用,並且由於我正在使用捆綁軟件,所以我不知道如何告訴局部視圖腳本的位置。
有沒有一種方法可以解決此問題,而無需將腳本直接砸到部分視圖中?
為所有模態或html塊賦予唯一的名稱。 使您的js代碼如下所示:
$(document).on('click', '#yourSpecifiedDomElement input','click',function(){
alert("hello world!");
});
將您所有的JavaScript代碼放入捆綁包中包含的指定js文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.