Html.BeginForm不向IE中的控制器发送输入值

时间:2014-07-02 18:10:02

标签: asp.net asp.net-mvc

我的观点如下:

    @using (Html.BeginForm())
{
    <div>            <input type="image" src='../../Content/themes/base/images/Wizard/btn_Finish.gif' height="25" width="80" name="finishButton" value="finish;@Model.QuestionID" style="margin-right: 50px; margin-top: 20px;" align="right"/>
        }
        else
        {
            <input type="image" src='../../Content/themes/base/images/Wizard/btn_Next.gif' height="25" width="80" name="nextButton" value="next;@Model.QuestionID" style="margin-right: 50px; margin-top: 20px;" align="right"/>
        }
        @if (Model.QuestionID > 1)
        {
            <input type="image" src='../../Content/themes/base/images/Wizard/btn_Previous.gif' height="25" width="80" name="backButton" value="back;@Model.QuestionID" style="margin-right: 5px; margin-top: 20px;" align="right"/>
        }
    </div>
}

我的控制器:

  public ActionResult QuestionaireWizard(string nextButton, string backButton, string finishButton, FormCollection form)

在Chrome中,我在各种按钮中获得了正确的值,但在IE中它们始终为空。 请注意,如果我在运行时查看HTML源代码,输入中的输入值正确,但由于某种原因,控制器永远不会检索它们。

1 个答案:

答案 0 :(得分:0)

Internet Explorer发送图像输入类型的坐标。它们的名称后跟.x和.y。遗憾的是,这些不是有效的c#变量名。

我不确定,但MVC可能会将句点转换为下划线,因此您可以尝试将名称更改为name_x和name_y,这些将是您单击的图像坐标。