Ajax 屬性的ActionLink方法可以創建一個具有異步行為的錨標簽。
ActionLink方法的第一個參數指定了鏈接文本,第二個參數是要異步調用的操作的名
稱。類似於同名的HTML輔助方法,AJAX輔助方法ActionLink也提供了各種重載版本,
用來傳遞控制器名稱、路由值和HTML特性。
如下使用:
1、 @Ajax.ActionLink("首頁", "Index", "Home", new AjaxOptions() { UpdateTargetId = "body_content", HttpMethod = "Post", InsertionMode = InsertionMode.Replace })
首先Ajax描述我們使用,UpdateTargetId為更新我們的展示層的內容,HttpMethod不必說大家都知道。我們簡單介紹一下InsertionMode,微軟提供的描述為枚舉AJAX腳本插入模式,我們發現InsertionMode枚舉中有三個(InsertAfter、InsertBefore、Replace)不難理解,InsertAfter為插入之前,InsertBefore插入之后,Replace為替換內容,那么我們可以分析出,上面方法是異步的刷新了body_content層的內容。
那么顯然我們根據這些內容可以分析出部分他的應用場景。數據表的更新以及其他內容的更新,追加通過此處處理更加方便,我們在看AjaxActionLink還有什么用法。
2、Confirm我們看到這個屬性,獲取或設置在請求之前顯示在確認窗口中的消息,不難理解我們可以通過這個內容來實現我們alert的消息提示功能。(是不是有種要拜托javascript的感覺呢?其實機制仍然是javascript)
3、OnComplete、OnSuccess、OnFailure、OnBegin我們發現還包括這些內容, 第一眼看到就是一個時間方法。然而在Ajax.ActionLink中。也是對我們處理的方法返回的相應的結果內容。 我們通過前台Javascript來實現處理完成,處理成功,處理失敗等信息多對應的業務內容。
處理如下
@Ajax.ActionLink("首頁", "Index", "Home", new AjaxOptions() { UpdateTargetId = "body_content", HttpMethod = "Post" ,OnSuccess="Show()",OnFailure="Failure()"})
<script>
function Show(){
///想處理什么自己描述吧
}
function Failure(){
///想處理什么自己描述吧
}
</script>
4、Url:獲取或設置已呈現的頁的URL
所有方法如下圖:
Confirm | 獲取或設置提交請求之前,顯示在確認窗口中的消息。 |
HttpMethod | 獲取或設置 HTTP 請求方法(“Get”或“Post”)。 |
InsertionMode | 獲取或設置指定如何將響應插入目標 DOM 元素的模式。 |
LoadingElementId | 獲取或設置加載 Ajax 函數時要顯示的 HTML 元素的 id 特性。 |
OnBegin | 獲取或設置更新頁面之前,恰好調用的 JavaScript 函數的名稱。 |
OnComplete | 獲取或設置實例化響應數據之后但更新頁面之前,要調用的 JavaScript 函數。 |
OnFailure | 獲取或設置頁面更新失敗時,要調用的 JavaScript 函數。 |
OnSuccess | 獲取或設置成功更新頁面之后,要調用的 JavaScript 函數。 |
UpdateTargetId | 獲取或設置要使用服務器響應來更新的 DOM 元素的 ID。 |
Url | 獲取或設置要向其發送請求的 URL。 |