@Ajax.ActionLink跳轉頁面的問題解決方案 MVC Ajax不支援問題
阿新 • • 發佈:2020-06-07
【JavaScriptResult】在客戶端執行伺服器返回的JavaScript程式碼
當一個內建的Ajax輔助方法請求一個操作方法,該方法會返回一個在客戶端執行立即的指令碼。
public ActionResult DoSomething() { string s = "$('#some-div').html('Updated')"; return JavaScript(s); }
@Ajax.ActionLink("單擊", "DoSomething", new AjaxOptions()); <div id="some-div"></div>
使用JavaScript的檢視頁面需要引用以下js,請使用NuGet安裝:
@section Scripts{ <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script> <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> }
貌似使用Ajax.ActionLink跳轉了頁面,而不是重新整理當前檢視。最後通過分析發現檢視程式碼、指令碼引用均未出現問題。而是web.config中缺少以下配置:
在appSettings節點下需要啟用對JavaScript的支援,否則也是無法使用@Ajax.ActionLink的。
<appSettings> <!--<add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="ClientValidationEnabled" value="true" />--> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings>
&n