【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