Ajax.ActionLink參數詳解


該語法會生成一個a標簽,點擊a標簽會執行一個Ajax請求。

 

12個方法重載,下面詳解方法中的各項參數:

 

參數一:linkText

string類型

說明:鏈接顯示的文字內容

 

參數二:actionName

string類型

說明:指定請求地址的Action名稱

 

參數三:ajaxOptions

class類型

說明:配置Ajax的一些選項

舉例:new AjaxOptions { HttpMethod = "POST", LoadingElementId = "searching", UpdateTargetId = "postContent" }

相關屬性詳解:

Confirm

string

在請求之前會彈出一個提示框,是否確認提交

HttpMethod

string

設置請求類型 Get Post

UpdateTargetId

String

標明html中一元素的id,把請求返回的數據/元素更新到該元素中

InsertionMode

enum

把請求結果以何種方式更新到Dom元素中

①Replace

②InsertBefore

③InsertAfter

不設置的情況下,默認是Replace,只有在UpdateTargetId被設置后才有效

LoadingElementId

string

標明html中一元素的id,在請求過程中,該元素會顯示出來,請求結束后又隱藏

LoadingElementDuration

Int

控制Loading動畫在顯示/隱藏時的動畫持續時間,單位為毫秒;

默認情況下,動畫將淡入淡出;這個時間即淡入淡出的時間(但經測試無效!!!)

OnBegin

string

標明js中一function的名稱,在Ajax請求發送前,執行該方法,對應JQuerybeforeSend

OnComplete

String

標明js中一function的名稱,在請求成功時,執行該方法,對應JQuerycomplete

OnFailure

String

標明js中一function的名稱,在請求失敗時,執行該方法,對應JQueryerror

OnSuccess

String

標明js中一function的名稱,無論請求成功與否,都在請求完成時,執行該方法,對應JQuerysuccess

Url

String

請求的地址

AllowCache

Bool

是否使用緩存

 

BeginForm11個重載方法中,有一方法中只有AjaxOptions一個參數,如果不指定Url,則生成的form表單的action屬性沒有值,就默認把數據提交到當前頁,否則就以Url為請求地址,其他重載方法中都需要指定actionName及controllerName(可選)。

 

參數四:routeValues

object、RouteValueDictionary類型

說明:將傳入到Controller中方法的參數

支持上述兩種數據類型:

object類型可以在使用時直接以匿名類方式聲明,使用非常方便

舉例:

new { id = 1, type = 1 }

RouteValueDictionary類型實現了IDictionary<string, object>接口,因此在使用時可以用鍵值對方式聲明

舉例:

new RouteValueDictionary{ {"id", 1}, {"type", 1} }

 

生成的路徑:/Home/Index/1?type=1

因為“id”是在路由規則中配置的名稱,因此顯示在路由規則對應的位置,“type”則在問號后面

 

參數五:htmlAttributes

object、IDictionary<string, object>類型

說明:html屬性,生成form表單時,會把鍵值對添加到form表單的屬性中;

支持上述兩種數據類型:

object類型可以在使用時直接以匿名類方式聲明,使用非常方便

舉例:

new{id = "frm", @class = "cls" }    由於classC#中的關鍵字,因此需要在前面加@符號

IDictionary<string, object>類型使用靈活,可以在一個地方聲明,多個地方調用,或修改后使用

舉例:

Dictionary<string, object> htmlAttr = new Dictionary<string, object>

 {

     {"id", "frm"},

     {"class", "cls"}

 };   

生成的代碼:<form action="/Home/Index/1?type=1" class="cls" data-ajax="true" id="frm" method="post">

 

參數六:controllerName

string類型

說明:指定請求地址的Controller名稱

 

參數七:protocol

string類型

說明:指定鏈接的協議類型,比如httphttps

 

參數八:hostName

string類型

說明:指定鏈接的主機地址,可以有域名+端口號,比如ayilaile.com:80

 

參數九:fragment

string類型

說明:指定鏈接中的錨點名稱

 

七、八、九三個參數的重載方法很少使用

示例:

@Ajax.ActionLink("ActionLink", "Index", "Home", "https", "www.ayilaile.com:90", "title", new { id = 1, type = 1 }, new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "detailsID", InsertionMode = InsertionMode.Replace }, new{ id = "testid"})

生成的鏈接為:https://www.ayilaile.com:90/Home/Index/1?type=1#title


免責聲明!

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



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