forum

Home / DeveloperSection / Forums / Html.BeginForm Post going to HttpGet action rather than HttpPost in IE, fine in Chrome and Firefox

Html.BeginForm Post going to HttpGet action rather than HttpPost in IE, fine in Chrome and Firefox

Samuel Fernandes 4943 03-Feb-2014

I have the following in my Razor view:

 @using(Html.BeginForm("Edit", "MyController", FormMethod.Post))
{
    <div class="grid_1">&nbsp;</div>
    <div id="ValSummary"> @Html.ValidationSummary(false)</div>
    @Html.EditorFor(x=> x.Role, MVC.Shared.Views.EditorTemplates.KeyValuePairSelectList, new { SelectListOptions = Model.RoleSelectList })<br /><br />
    @Html.EditorFor(x=> x.Trust, MVC.Shared.Views.EditorTemplates.KeyValuePairSelectList, new { SelectListOptions = Model.TrustSelectList.OrderBy(x => x.Text) })<br/><br />
    @Html.EditorFor(x=> x.GmcCode)<br /><br />
    <div class="createbutton">
        <input id="btnGoBack" type="button" value="Back"/> 
        <input id="btnSubmit" type="button" value="Submit" />
    </div>
}

In my controller I have

[HttpGet]
public virtual ActionResult Edit(string id)
{
}
[HttpPost]
public virtual ActionResult Edit(ViewModel viewModel)
{
}

In Firefox and Chrome everything works fine but in IE when the form is submitted the HttpGet action is being fired rather than the HttpPost.

There are no clues in the call stack or from the IE developer tools console.

Anything obvious that I am missing?


Updated on 03-Feb-2014

Can you answer this question?


Answer

1 Answers

Liked By