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 a sudden my submit button doesn't get submitted with the form!? any reason why that would happen?
tested using IE, FF, Chrome - all latest
View code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Setup.Mvc.ViewModels.SignUpViewModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
SignUp
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm("SignUp", "SetUp", FormMethod.Post))
{
%>
<%: Html.ValidationSummary()%>
<button type="submit" value="Register" name="ActionRegister" >Register</button>
<button type="submit" value="Cancel" name="ActionCancel" class="cancel" >Cancel</button>
<fieldset>
<legend>Account Information </legend>
<dl>
<dt>
<%:Html.LabelFor(x=>x.UserName)%>
</dt>
<dd>
<%: Html.TextBoxFor(x=>x.UserName) %>
<%: Html.ValidationMessageFor(model => model.UserName) %>
</dd>
<% if (string.IsNullOrEmpty(Model.Provider))
{
%>
<dt>
<%:Html.LabelFor(x=>x.Password)%>
</dt>
<dd>
<%: Html.PasswordFor(x => x.Password)%>
<%: Html.ValidationMessageFor(model => model.Password) %>
</dd>
<%
} %>
<dt>
<%:Html.LabelFor(x=>x.Email)%>
</dt>
<dd>
<%: Html.TextBoxFor(x=>x.Email) %>
<%: Html.ValidationMessageFor(model => model.Email) %>
</dd>
<dt>
<%:Html.LabelFor(x=>x.Themes) %>
</dt>
<dd>
<%: Html.DropDownList("ThemeId", Model.Themes.Select(x=> new SelectListItem{ Text = x.DisplayName, Value = x.DisplayName}), "Select a Theme") %>
<%: Html.ValidationMessageFor(model => model.Themes) %>
</dd>
</dl>
</fieldset>
<fieldset>
<legend>
<h2>
Additional Information</h2>
</legend>
<dl>
<dt>
<%:Html.LabelFor(x=>x.PublicSite)%>
</dt>
<dd>
<%:Html.CheckBoxFor(x => x.PublicSite)%>
<%: Html.ValidationMessageFor(model => model.PublicSite) %>
</dd>
<dt>
<%:Html.LabelFor(x=>x.SiteUrl)%>
</dt>
<dd>
http://cheesyurl.com/<%:Html.TextBoxFor(x => x.SiteUrl)%>
<%: Html.ValidationMessageFor(model => model.SiteUrl) %>
</dd>
</dl>
</fieldset>
<%
}%>
</asp:Content>
Action:
[HttpPost]
[ActionName("SignUp")]
[UnitOfWork]
[AcceptParameter(Action = "ActionRegister")]
public ActionResult SignUp_Register(SignUpViewModel vm)
{
return View();
}
I tried changing it from submit to button and it worked for all of 2 posts and then stopped?!
i'm completely lost for reasons... i bet i'm doing soemthing completely stupid...
Post output from firebug:
Parametersapplication/x-www-form-urlencoded
Email wayne@isit.gd
Password sdfsdfsdfsdf
PublicSite false
SiteUrl sdfsdfsdf
ThemeId
UserName Usernames-12131
Source
Content-Type: application/x-www-form-urlencoded Content-Length: 112 UserName=Usernames-Sux0r&Password=sdfsdfsdfsdf&Email=wayne%40isit.gd&ThemeId=&PublicSite=false&SiteUrl=sdfsdfsdf