我一直在尋找很好的技巧來處理表單中的多個提交按鈕,然後我從這個URL獲得了一些建議,我跟着但失敗。 How do you handle multiple submit buttons in ASP.NET MVC Framework?處理表單中的多個提交按鈕
發貼者@Andrey Shchekin。
他只是說創建一個類,像下面的一個,所以我沒有在同一個控制器視圖中的樣子&也控制代碼的樣子
public class HttpParamActionAttribute : ActionNameSelectorAttribute {
public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo) {
if (actionName.Equals(methodInfo.Name, StringComparison.InvariantCultureIgnoreCase))
return true;
if (!actionName.Equals("Action", StringComparison.InvariantCultureIgnoreCase))
return false;
var request = controllerContext.RequestContext.HttpContext.Request;
return request[methodInfo.Name] != null;
}
}
那麼多提交按鈕下方
<% using (Html.BeginForm("Action", "Post")) { %>
<!— …form fields… -->
<input type="submit" name="saveDraft" value="Save Draft" />
<input type="submit" name="publish" value="Publish" />
<% } %>
and controller with two methods
public class PostController : Controller {
[HttpParamAction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SaveDraft(…) {
//…
}
[HttpParamAction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Publish(…) {
//…
}
}
但當我測試他的代碼時,它永遠不會工作。所以任何人都可以告訴我我犯了什麼錯誤,或者代碼本身對於處理這種情況是錯誤的。謝謝