私は解決策のためにここに探してお勧めします:
http://weblogs.asp.net/dfindley/archive/2009/05/31/asp-net-mvc-multiple-buttons-in-the-same-form.aspx
を基本的に、あなたのアクションメソッドにデータを送信することができますし、実行するアクションのどのコースがチェック - 保存または適用されます。
[ActionName("Register")]
[AcceptVerbs(HttpVerbs.Post)]
[AcceptParameter(Name="button", Value="cancel")]
public ActionResult Register_Cancel()
{
return RedirectToAction("Index", "Home");
}
[AcceptVerbs(HttpVerbs.Post)]
[AcceptParameter(Name="button", Value="register")]
public ActionResult Register(string userName, string email, string password, string confirmPassword)
{
// process registration
}
ボタン
<button name="button" value="register">Register</button>
<button name="button" value="cancel">Cancel</button>
シンプルフィルタ:
public class AcceptParameterAttribute : ActionMethodSelectorAttribute
{
public string Name { get; set; }
public string Value { get; set; }
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
{
var req = controllerContext.RequestContext.HttpContext.Request;
return req.Form[this.Name] == this.Value;
}
}
リンクのおかげか、次の2つのコントローラーアクションに(上記の記事から逮捕)このようなものを、それらを分割することができます。あなたはどんな進歩についても投稿し続けるでしょう。 – cmnunis