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。