0

我有一个用ASP.NET MVC4/Razor编写的表单。表单发布在Firefox和Chrome中运行良好,但由于某些原因,在Internet Explorer 10和11中,“提交”按钮无响应。 (Internet Explorer 9的作品也不错)。MVC4 Html.BeginForm提交按钮在Internet Explorer> 9不工作

这是我的看法形式的样子:

<div class="bla"> 
    <table style="width:100%;"> 
    @using (Html.BeginForm("MyAction","MyController", FormMethod.Post, new  {id="myID"})) 
    { 
     <thead> 
      <tr> 
       <th class="heading highlight">Enter Registration</th> 
       <th> 
        <span style="display: block;"> 
         @Html.EditorFor(model => model.Sign) 
         <input style="margin-left:4px;" type="submit" value="Save" /> 
        </span> 
        <span style="display: block; font-weight: normal;">@(Model.SignDescription)</span> 

       </th> 
      </tr> 
     </thead> 
    } 
    </table> 
</div> 

这是我的控制器:

[HttpPost] 
public ActionResult MyAction(InfoModel infoModel) 
{ 
    if(!string.IsNullOrEmpty(infoModel.Sign)) 
    { 
      //do something 
    } 

    infoModel = LoadModel(); 

    return (indoModel); 
} 

我真的不知道为什么会这样......

THANKs提前!

编辑: 我的形式是在表内,我忘了补充它..

+0

很可能是由于HTML呈现无效而造成的。您的浏览器可能处于怪异模式。 –

+0

@TiesonT .:如何指出无效的html。 –

+1

'

...
' –

回答

2

您的标记无效 - 表单元素不能是表元素的子元素。重新排列你的标记,所以@using (Html.BeginForm(将在<th>之内。

+0

是的!这就是问题!...非常感谢你们所有人! – minoyo

0

你不需要写“myController的”完整的尝试只是形式上的前缀写作。

0

另外请确保您的用户没有禁用JavaScript。 我花了最近2天试图找出为什么这不适用于IE8,但在其他浏览器上很好。我甚至不得不建立一个Windows XP hyper-v安装,只是为了尝试重现问题!