ASP.NET MVC如何在Action中返回腳本並執行


我們都知道在aspx頁面的cs文件中只要用Respos.Write("<script></scritp>")就可以在前台執行腳本

但是在MVC中就不一樣了,返回腳本要給定腳本類型返回。如果是使用js或者jq的ajax去請求可以直接使用毀掉函數來執行返回腳本,但如果給一個button或者一個a標簽添加點擊事件時並且要求后台可以返回並執行腳本,可以有一下幾種情況。

第一,return Conten(("<script>alert('666')</scritp>"),這樣你會發現腳本也會執行但是點擊確定后會出現一片空白,這還是由於action的特殊返回條件。

第二,  return JavaScript("");返回腳本,這樣會發現刷新的腳本還是可以執行但是彈窗alert()根本不會執行。對於這種用法其實才是經常用到的,這時我們只需要在標簽上添加 data-ajax-method="post" 和屬性data-ajax="true"例如:

<a class="btn"  data-ajax-method="get" data-ajax="true">添加</a>     

按照第二種試一下是不是完全沒問題。

如果按照上述操作還是不能執行js腳本,分析如下:

1.是否引用jquery.unobtrusive-ajax.js,這個js是ajax執行的先決條件。

2.引用js后是否在配置文件中配置UnobtrusiveJavaScriptEnabled

  <appSettings>
 <add key="UnobtrusiveJavaScriptEnabled" value="true" />
 </appSettings>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM