這幾天學習mvc ajax總是點擊後,會跳轉到新頁面顯示內容。
網上找解決方案也沒找到,只有人說是js文件沒有調用,但我是調用了的,無奈新建一個項目還是不行。
整理了下思路,我用chrome 開發者工具 跟蹤頁面載入時的錯誤,有三個錯誤,再一一網上搜索原因,終於得以解決。
需要ajax調用注意的:我使用的是
<h2>列表頁</h2> <div id="myPnl" style="width: 300px; height: 30px; border: 1px dotted silver;"> </div> @Ajax.ActionLink("Click Me", "GetTime", new AjaxOptions { UpdateTargetId = "myPnl" })
1、必須引入:
@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryui")
jqueryui不知道是不是必須要引入的,沒深究
2、@Scripts.Render("~/bundles/jqueryval")
3、如果要調用這兩個,那麼貌似正確的順序是這樣的,否則會提示MicrosoftMvcAjax.js中有錯誤:
<script src="/Scripts/MicrosoftAjax.js"></script> <script src="/Scripts/MicrosoftMvcAjax.js"></script>
4、到這裏,我已經處理掉幾個報錯,最後一個報錯是:Uncaught TypeError: Object [object Object] has no method 'live'
google後得知是新版本不再支持'live',這時使用nuget升級了改錯誤對應的js文件就ok了!欣喜ing
說到這裏,其實解決問題重要的是方法,當國內外網站都沒有搜索到解決辦法時,不妨自己想想辦法。