Asp.net mvc - Html Submit button not sent with post?

后端 未结 4 962
北海茫月
北海茫月 2020-12-20 13:50

As in the title. I use this method for allowing more than one submit button per form and more than one action to handle them.

However - for some odd reason - all of

4条回答
  •  悲哀的现实
    2020-12-20 14:30

    The way I have done this before is I post my form to same action. In my action I check the value of input button.

    So In your case you should do following on your View. Keep the name of both input submit same but different value.

    <% using (Html.BeginForm("SignUp", "SetUp", FormMethod.Post))
    {%>
    <%: Html.ValidationSummary()%>
         
         Cancel
    }
    

    And on your controller

    public ActionResult SignUp_Register(SignUpViewModel vm,string actionName)
    {
        if(actionName =="Register")
              //Do something;
        if(actionName =="Cancel")
              //Do something;
    
        return View();
    }
    

    In standard cases these should work....

    Let me highlight something interesting now...!!

    1)On Submit event of the form if you are disabling all input type of submit in your JavaScript to disable double submit, then you will always get null values for them in the controller as they are disabled.

    2)I realized that you have cancel class on your submit which has some unintended behavior if you are using jQuery validation. Ref: http://docs.jquery.com/Plugins/Validation/Reference

    Hope this helps..!!

提交回复
热议问题