Handling Multiple submit button in asp.net mvc?

Total Post:412

 1470  View(s)
Rate this:

Is there some easy way to handle multiple submit buttons from the same form? Example:

<% Html.BeginForm("MyAction", "MyController", FormMethod.Post); %>

<input type="submit" value="Send" />

<input type="submit" value="Cancel" />

<% Html.EndForm(); %>

Any idea how to do this in ASP.NET Framework Beta? All examples I've googled for have single buttons in them.

  1. Post:149

    Re: Handling Multiple submit button in asp.net mvc?

    Here is a mostly clean attribute-based solution to the multiple submit button issue based heavily on the post and comments from Maartin Balliauw.

    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false,
    Inherited = true)]
    public class MultipleButtonAttribute : ActionNameSelectorAttribute
        public string Name{ get; set; }
        public string Argument{ get; set; }
        public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
            var isValidName = false;
            var keyValue =string.Format("{0}:{1}", Name, Argument);
            var value =controllerContext.Controller.ValueProvider.GetValue(keyValue);
            if (value != null)
                controllerContext.Controller.ControllerContext.RouteData.Values[Name] = Argument;
                isValidName = true;
            return isValidName;


    <form action="" method="post">
     <input type="submit" value="Save" name="action:Save" />
     <input type="submit" value="Cancel" name="action:Cancel" />

    and controller:

    [MultipleButton(Name = "action", Argument = "Save")]
    public ActionResult Save(MessageModel mm) { ... }
    [MultipleButton(Name = "action", Argument = "Cancel")]
    public ActionResult Cancel(MessageModel mm) { ... }

      Modified On Apr-06-2018 06:51:49 AM