ASP.NET MVC表单:可以使用ENTER键提交但不能提交按钮

时间:2016-11-13 17:43:47

标签: javascript jquery asp.net asp.net-mvc asp.net-mvc-4

我正在尝试在ASP.NET MVC中实现一个简单的搜索表单。现在我的cshtml看起来像这样

@using (Html.BeginForm("SearchDemo", "Home", FormMethod.Post))
{
    <div>
        Last Name:<br>
        <input type="text" id="nameToFind" name="nameToFind">

        <input type="button" id="submitId" name="submit" value="submit" />

    </div>
}

我的控制器看起来像这样

[HttpPost]
public ActionResult SearchDemo(string nameToFind)
{
    return RedirectToAction("Register", "Account"); //Only redirecting for now to test
}

按提交按钮不会调用控制器,而是按ENTER键。我猜这意味着我的点击事件被JavaScript或其他东西吃掉所以我试图暂停Chrome中的脚本执行,但实现了browserlink.js陷入无限循环。那是问题吗?无论哪种方式,我怎么能停止无限循环?

3 个答案:

答案 0 :(得分:6)

浏览器不知道将此按钮用作提交。

更改

type="button"

type="submit"

答案 1 :(得分:1)

而不是将type设置为"button"

<input type="button" id="submitId" name="submit" value="submit" />

type更改为submit

答案 2 :(得分:-3)

<input type="button" id="submitId" name="submit" value="submit" formmethod="post" value="Submit using POST"/>

您需要在输入中使用一种形式的帖子。 这样按钮就知道回发了。 您还需要一个值属性。这将是对控制器中的Function名称的引用。 w3 reference