首页 > 代码库 > asp.net中TextBox里面实现回车触发指定事件
asp.net中TextBox里面实现回车触发指定事件
原文:asp.net中TextBox里面实现回车触发指定事件
我在一个user_top用户控件里面做了个包括搜索的功能。然后再一个页面中添加这个用户控件。浏览时候在textbox里面输入搜索内容后。下意识的摁了回车。谁知道报错了。因为页面回发。我在page_load里面写了!IsPostBack{...}所以导致了未将对象引入对象实例。网上搜了下。
方法一:
<asp:Panel ID="panSearch" runat="server" DefaultButton="SearchBtn">
<asp:TextBox ID="KeywordsTextField" runat="server" AutoCompleteType="Search"></asp:TextBox>
<asp:ImageButton ID="SearchBtn" runat="server" ImageUrl="~/images/search_btn.gif" OnClick="BtnToSearch" ImageAlign="Middle" />
<br />
</asp:Panel>
<asp:TextBox ID="KeywordsTextField" runat="server" AutoCompleteType="Search"></asp:TextBox>
<asp:ImageButton ID="SearchBtn" runat="server" ImageUrl="~/images/search_btn.gif" OnClick="BtnToSearch" ImageAlign="Middle" />
<br />
</asp:Panel>
将TextBox和你要关联的Button放在同一个panel里面,用Panel控件的DefaultButton="SearchBtn"属性来指定要执行那个按钮事件。Panel会生成一个div。
方法二:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>无标题页</title> <script type="text/javascript"> function keyDown() { if(event.keyCode==13) { document.getElementById("Button1").click(); } } </script></head><body> <form id="form1" runat="server"> <asp:TextBox ID="KeywordsTextField" runat="server" AutoCompleteType="Search"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click1" /> <br /> </form></body></html>
因为服务器控件最终生成的还是html。所以虽然textbox里面没有onkeydown这个属性。不过也可以用。
方法三:
<script type="text/javascript">function document.onkeydown() { if(event.keyCode==13) { return false; } }</script>
这个是我干脆把回车给屏蔽来了。直接让他点按搜索按钮。这个方法不友好。这些都是一个思路。知道了这些,自己都可以随便弄了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。