Asp.net
Javascript 在部分視圖中不起作用
這個問題類似於在 ASP.NET MVC 的局部視圖中執行 Javascript中描述的問題
index.cshtml 中的以下程式碼工作正常…
<label for="locationOfSearch"> in :</label> @Html.TextBox("locationOfSearch") <input type="submit" value="Search" style="background-color:Green"/> @section JavaScript { <script type="text/javascript"> $(document).ready(function () { $("#locationOfSearch").autocomplete({ source: '@Url.Action("AutocompleteAsyncLocations")' }) }); </script> }但是,當我將上述程式碼和相應的腳本文件複製並粘貼到另一個視圖中,然後在 index.cshtml 中呼叫 Html.Partial(新視圖名稱)時,自動完成功能不起作用……
請讓我知道如何在沒有太多修改的情況下解決它…
您不能在局部視圖中使用部分。他們根本不工作。因此,您必須將 保留
@section JavaScript在視圖中才能註冊腳本,然後渲染僅包含標記的部分。您還可以編寫自定義輔助方法來實現此目的,如本答案所示。
部分視圖需要引用所有腳本,即使您已經在主/佈局頁面中引用了它。創建一個局部視圖(例如:_Scripts.cshtml)並將所有腳本和样式表引用放入其中。然後在每個視圖中呼叫這個局部視圖:
@Html.Partial("_Scripts")