Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net HTML输入标记何时在enter上发回?_Asp.net_Html - Fatal编程技术网

Asp.net HTML输入标记何时在enter上发回?

Asp.net HTML输入标记何时在enter上发回?,asp.net,html,Asp.net,Html,我有几个asp.net页面,上面有文本框控件。其中一些在回车时回发(在文本框控件中),而另一些则不回发。就我的一生而言,我不知道为什么或者为什么不 我认为这与asp.net无关。不使用ajax等。尝试使用非常简单的html页面,但仍然无法理解 可能在标签内还是不在标签内?但是我所有的asp:textbox控件都在标准表单标记中,有些在做,有些不在做。据我所见,与自动回邮无关 编辑: 导致回发的示例标记: <html> <body> <form> <in

我有几个asp.net页面,上面有文本框控件。其中一些在回车时回发(在文本框控件中),而另一些则不回发。就我的一生而言,我不知道为什么或者为什么不

我认为这与asp.net无关。不使用ajax等。尝试使用非常简单的html页面,但仍然无法理解

可能在标签内还是不在标签内?但是我所有的asp:textbox控件都在标准表单标记中,有些在做,有些不在做。据我所见,与自动回邮无关

编辑:

导致回发的示例标记:

<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中尝试过这一点,效果很好。

你能展示一个页面上的代码吗,其中一个文本框可以回发,而另一个文本框不能回发?一旦解决方案变得明显,你就提供了一个干净的解决方案。