Asp.net HTML输入标记何时在enter上发回?
我有几个asp.net页面,上面有文本框控件。其中一些在回车时回发(在文本框控件中),而另一些则不回发。就我的一生而言,我不知道为什么或者为什么不 我认为这与asp.net无关。不使用ajax等。尝试使用非常简单的html页面,但仍然无法理解 可能在标签内还是不在标签内?但是我所有的asp:textbox控件都在标准表单标记中,有些在做,有些不在做。据我所见,与自动回邮无关 编辑: 导致回发的示例标记:Asp.net HTML输入标记何时在enter上发回?,asp.net,html,Asp.net,Html,我有几个asp.net页面,上面有文本框控件。其中一些在回车时回发(在文本框控件中),而另一些则不回发。就我的一生而言,我不知道为什么或者为什么不 我认为这与asp.net无关。不使用ajax等。尝试使用非常简单的html页面,但仍然无法理解 可能在标签内还是不在标签内?但是我所有的asp:textbox控件都在标准表单标记中,有些在做,有些不在做。据我所见,与自动回邮无关 编辑: 导致回发的示例标记: <html> <body> <form> <in
<html>
<body>
<form>
<input type=text />
</form>
</body>
</html>
我的asp.net页面肯定不会发回。代码很广泛,我不明白为什么不能
编辑2:
如何防止回发?如果textbox控件设置为autopostback,它将在每次按键时回发(从而允许触发TextChanged事件) 下一步,多行属性设置为false的文本框将在回车时显示为回发。。实际发生的是由浏览器中的行为定义的表单提交
将Multiline设置为true的框不会导致表单在Enter时提交。通常,大多数web浏览器会检测到表单只有一个文本框,并在按下Enter键时自动提交表单 如果有多个文本框或多个表单按钮,则行为会有所不同。ASP.Net具有按钮的“defaultButton”机制,这意味着您可以在按下enter键的情况下指定哪个按钮是给定面板的提交按钮。您可以查看有关设置表单以正确发回的更多信息 正如Boo所提到的,多行文本框不会触发此操作
如果表单在浏览器之间的行为真的很糟糕,您可能需要查看javascript解决方案,以捕获按下的enter键,并通过javascript“手动”提交表单。如果您只有一个文本框,并且不希望出现这种行为,您可以始终在表单上放置隐藏的输入
<html>
<body>
<form>
<input type="text" ></input>
<input type="text" style="visibility:hidden"></input>
</form>
</body>
</html>
我在IE7和FF3中尝试过这一点,效果很好。你能展示一个页面上的代码吗,其中一个文本框可以回发,而另一个文本框不能回发?一旦解决方案变得明显,你就提供了一个干净的解决方案。