[英]ASP MVC ActionName in Ajax.BeginForm
我正在使用Ajax.BeginForm()
重載:
(this AjaxHelper, AjaxOptions ajaxOptions):MvcForm
而且一切都很好。
但是現在我需要在<form>
-tag中添加一個屬性,因此我需要發送htmlAttributes
-ergo我需要使用Ajax.BeginForm()
另一個重載。
這是我的問題:使用第一個重載時,我會獲得正確的表單href,但是第二個重載時,我需要傳遞一個ActionName。 我嘗試傳遞真實的ActionName,但收到錯誤的href。 我嘗試傳遞NULL值,但它仍然是錯誤的href(但與我傳遞真實的ActionName(“索引”)時相同)。
我還有其他方法可以用來添加表單屬性或解決此問題的方法嗎? (我當然可以使用JavaScript來添加它,就像我們在90年代所做的那樣,但這是2013年...)
編輯:這是我現在使用的重載,這給了我錯誤的href:
Ajax.BeginForm("Index",null,new AjaxOptions() { HttpMethod = "POST",
InsertionMode = InsertionMode.Replace, UpdateTargetId = "myform" },
new { enctype = "multipart/form-data" })
嘗試
@Ajax.BeginForm("Index","YourControllerName",null,new AjaxOptions() { HttpMethod
="POST", InsertionMode = InsertionMode.Replace,UpdateTargetId = "myform"},
new { enctype = "multipart/form-data" })
這是您想要的過載。
@Ajax.BeginForm("actionName", "controllername", null, ajaxOptions: new AjaxOptions(), htmlAttributes: new Dictionary<string, object>())
指定您的動作和控制器名稱。 然后,您為路由值指定null並傳入其余參數。
請注意,使用參數名稱規范聲明參數僅出於說明目的。 這是此重載的默認順序,因此您無需像我所做的那樣顯式聲明它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.