我试图在ASP中实现一个简单的搜索表单。净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陷入无限循环。这是问题所在吗?不管怎样,我怎样才能停止这个无限循环?
浏览器不知道是否使用此按钮作为提交。
改变type="button"
type="submit"
将type
设置为"button"
<input type="button" id="submitId" name="submit" value="submit" />
将type
改为submit
<input type="button" id="submitId" name="submit" value="submit" formmethod="post" value="Submit using POST"/>
你需要一个post的表单方法在你的输入。这样按钮就知道发送回来了。您还需要一个value属性。这将是对控制器内函数名的引用。w3参考