Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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 Webforms中,如何检测有人按下enter键的文本框?_Asp.net_Webforms - Fatal编程技术网

在ASP.net Webforms中,如何检测有人按下enter键的文本框?

在ASP.net Webforms中,如何检测有人按下enter键的文本框?,asp.net,webforms,Asp.net,Webforms,在ASP.net Webforms中,如何检测有人按下enter键的文本框 请不要回答 我需要使用VB.NET在代码中处理所有这些问题。我怀疑没有javascript是无法完成的-当你点击enter键时,浏览器会提交表单-它不会提交有焦点的字段。因此,除非您使用JS将这些信息添加到正在提交的表单中,否则您就不走运了。如果不使用Javascript,您就不能。该信息不会从客户端浏览器传输到服务器。据我所知,服务器端脚本无法检测到该信息。它根本不会被发送到服务器。它必须在客户端完成(即使用Javas

在ASP.net Webforms中,如何检测有人按下enter键的文本框

请不要回答


我需要使用VB.NET在代码中处理所有这些问题。

我怀疑没有javascript是无法完成的-当你点击enter键时,浏览器会提交表单-它不会提交有焦点的字段。因此,除非您使用JS将这些信息添加到正在提交的表单中,否则您就不走运了。

如果不使用Javascript,您就不能。该信息不会从客户端浏览器传输到服务器。

据我所知,服务器端脚本无法检测到该信息。它根本不会被发送到服务器。它必须在客户端完成(即使用Javascript),然后发送到服务器。

为什么需要确定按下了哪个文本框?您是否希望看到哪个文本框被聚焦,以便触发正确的按钮单击事件

如果您希望执行类似的操作,我所做的一个技巧是在自己的面板中“分组”适当的表单元素,然后相应地设置“DefaultButton”属性


这样,我就可以在一个表单上使用“按名称搜索”、“按部门搜索”、“按Id搜索”等文本框/按钮组合,并且仍然允许用户键入查询参数,按Enter键,并在代码中调用适当的搜索方法。

我通过查看请求解决了一个站点的搜索问题。表单对象,服务器端,查看搜索框是否有值。我是在一个基类中完成的,我的所有页面(或母版页的基类)都是从这个基类继承的。如果它有一个值,那么很有可能有人键入某个内容并按enter键,因此我处理了搜索。

在事件处理程序中,“源”对象(事件处理程序的第一个参数)是引发事件的对象。键入该按钮并获取名称,或者使用反射从非类型对象中获取信息


此外,如果该控件是web控件的子控件,而您没有该控件引发它自己的事件(只是说…),那么您可以使用OnBubbleEvent来确定发生了什么。OnBubbleEvent还有一个“source”参数,您可以键入,也可以对其使用反射。

问题是我有三个字段和两个按钮。用户名/密码和搜索。每个都需要单独的验证,默认操作应该是直观的。我今天花了很多时间在这上面,我不敢相信使用WebForms做这件事有多困难……是的。这就是我正在做的,但是现在用户名/密码的验证也通过搜索按钮启动。我正在使用ValidationGroup,但它不起作用。