处理
我有一个 asp.net 文本框,我想将其用作搜索框。
我不打算有一个按钮,只是允许用户在文本框中输入搜索关键字并按 Enter 键。
<div id="search-bar">
<asp:TextBox ID="txtSearch" runat="server" ></asp:TextBox>
</div>
如何获得“按回车键”来调用方法,或者回发带有 URL 参数中的关键字的页面,例如 search.aspx?keywords=this&that
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web
技术交流群。
我有一个 asp.net 文本框,我想将其用作搜索框。
我不打算有一个按钮,只是允许用户在文本框中输入搜索关键字并按 Enter 键。
<div id="search-bar">
<asp:TextBox ID="txtSearch" runat="server" ></asp:TextBox>
</div>
如何获得“按回车键”来调用方法,或者回发带有 URL 参数中的关键字的页面,例如 search.aspx?keywords=this&that
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将 AutoPostback 设置为 true如果您想在代码隐藏中调用函数 OnTextChanged。如果文本框失去焦点(例如Tab-键)或按下Enter-键,则会发生这种情况。
Set AutoPostback to true if you want to call a function in codebehind OnTextChanged. This will occur if the Textbox loses focus(f.e. Tab-key) or Enter-Key is pressed.
还有其他方法可以使用表单对象的 DefaultButton 属性或面板的 DefaultButton 属性设置默认按钮,但我发现它们过去在各种浏览器中不可靠,所以通常我依赖 javascript,如果你不这样做想要按钮可见,只需将visible属性设置为false即可。
该代码的唯一缺点是您必须使用页面指令关闭事件验证,但它应该触发单击事件,并触发验证器等等。
这是我们使用的代码示例。通常我会将寄存器函数放在实用程序类中,但对于本例来说,它位于页面代码中。
There are other ways you can set a default button using the form object DefaultButton property or the DefaultButton property of a panel, but I have found them to be unreliable in the past in various browsers so usually I rely on javascript, if you don't want the button visible you can just set the visible property to false.
The only downside to this code is you have to turn off event validation with a page directive, but it should fire off click events, and trigger validators and all that.
Here is an example the code that we use. Normally I would put the register function in a utility class, but for this example it is in the page code.
使用 javascript 提交表单的方法是:
但是 asp 通常会在单击按钮时放置一大堆 javascript 来处理视图状态和类似的事情,因此您最好添加一个设置为表单默认值的按钮,然后用CSS隐藏它。
to submit a form with javascript is:
but asp usually puts a whole bunch of javascript in the click for buttons to do with viewstate and things like that, so you might be better off adding a button that is set as the default for the form, and then hiding it with CSS.