就一直很奇怪,自從我安裝ASP.NET MVC 3之後,發現程式裡的AjaxHelper的相關程式都不會有動作,但網頁上又不會有任何錯誤(Firebug也沒有)。
問題重現
在ASP.NET MVC 3專案中,做如「
AjaxHelper Class」最下面的Lab,你會發現Ajax不會運作。但一樣的程式碼在ASP.NET MVC 2很正常。
ASP.NET MVC 2需引用MicrosoftAjax.js及MicsoftMvcAjax.js兩支Javascript。但ASP.NET MVC 3預設使用「Unobtrusive JavaScript」,我們可以參考根目錄下web.config
2 | < add key = "ClientValidationEnabled" value = "true" /> |
3 | < add key = "UnobtrusiveJavaScriptEnabled" value = "true" /> |
所以在ASP.NET MVC 3我們必須引用另一支Javascript「jquery.unobtrusive-ajax.js」,這一支Javascript必須配合jQuery使用,所以也是引用兩支Javascript。
1 | < script src = "<%: Url.Content(" ~/Scripts/jquery-1.4.4.min.js") %>" type="text/javascript"> |
3 | < script src = "<%: Url.Content(" ~/Scripts/jquery.unobtrusive-ajax.min.js") %>" type="text/javascript"> |
引用之後,ASP.NET MVC 3的AjaxHelper就能正常運作了。看來我是要花點時間把ASP.NET MVC 3 Release Notes好好的K一K。@_@
Reference:
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。