Home > DeveloperSection > Forums > Handling multiple submit button in asp.net mvc
jacob rasel
jacob rasel

Total Post:88

Posted on    October-07-2014 1:50 AM


 1 Reply(s)
 973  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.

Kamlakar Singh
Kamlakar Singh

Total Post:194

Posted on    October-07-2014 1:54 AM

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

[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) { ... }   

Don't want to miss updates? Please click the below button!

Follow MindStick