【问题标题】:Issue related to Submit HTTPPOST ActionMethod in MVC与在 MVC 中提交 HTTPPOST ActionMethod 相关的问题
【发布时间】:2015-06-08 09:40:59
【问题描述】:
我有 asp.net MVC Web 应用程序。
我有一个输入按钮:
<input type="submit" name="Report" value="To File" id="rptToFile" />
我有另一个输入文本框:
<input type="text" id="txtMemItem1" name="" />
当用户在TextBox 中输入时,我已经编写了代码来打开一个新的弹出窗口:
但问题是:通过按回车键,它会调用控制器中的 HTTPPOST 操作方法。我不想在 EnterPress 键上提交它,而是想打开弹出窗口..
我该如何解决我的问题???
谢谢
【问题讨论】:
标签:
c#
asp.net-mvc
asp.net-mvc-4
model-view-controller
asp.net-mvc-5
【解决方案1】:
这是 HTML 表单的默认行为,只要专注于表单控制并按下 Enter,表单就会被发布到服务器。
此行为的替代解决方案可以编写一个 javascript onkeypress 事件并检查 keyCode is 13 (enter) 然后是 return false 并打开一个弹出窗口否则 return true。
HTML
<input type="text" onKeyPress="keyPressed(event)" .../>
Javascript
function keyPressed(event)
{
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13)
{
//open a popup here.
return false;
}
return true;
}
或者,如果您不需要发布表单,那么您也可以使用以下内容。
<form onsubmit="return false" ></form>