簡體   English   中英

Javascript無法在PartialView上運行

[英]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>

看完這個問題:

我意識到我必須在局部視圖中包含腳本。 總結一下:

  1. 部分視圖無法運行我項目中的JS代碼。
  2. 局部視圖僅運行使用<script>標記在局部視圖中直接指定的JS代碼。

現在,在此示例中這很好,但是在現實世界中,我有幾個腳本可用於部分視圖,而且它們很大。 此外,客戶端已經下載了它們,因為它們正在其他視圖中使用,並且由於我正在使用捆綁軟件,所以我不知道如何告訴局部視圖腳本的位置。

有沒有一種方法可以解決此問題,而無需將腳本直接砸到部分視圖中?

為所有模態或html塊賦予唯一的名稱。 使您的js代碼如下所示:

$(document).on('click', '#yourSpecifiedDomElement input','click',function(){
    alert("hello world!");
});

將您所有的JavaScript代碼放入捆綁包中包含的指定js文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM