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>

将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>

这个是我干脆把回车给屏蔽来了。直接让他点按搜索按钮。这个方法不友好。这些都是一个思路。知道了这些,自己都可以随便弄了。

asp.net中TextBox里面实现回车触发指定事件

时间: 2024-10-09 22:08:33

asp.net中TextBox里面实现回车触发指定事件的相关文章

asp.net中ScriptManager自带Ajax与jQuery事件冲突

问题引诉:最近在使用asp.net自带的无刷新提交ScriptManager时,发现一个问题,就是和我自己用jQuery写的一些事件函数和局部刷新相冲突.通过在网上收索,发现很多人都遇到这个同样的问题.最终还是找到的解决的办法,在此我想将其解决的办法分享出来供大家参考. 问题解决办法: 方法1.两者实现都能够实现页面的无刷新效果,所以可以保留其中的一种即可: 方法2.如果必须要两者混合应用,那么在用jQuery绑定事件是就要注意一些了 我们平时在jQuery中绑定事件最常用的方式有以下三种:以c

ASP.NET中TextBox控件设立ReadOnly=&quot;true&quot;后台取不到值

SP.NET中TextBox控件设置ReadOnly="true"H或Enabled=false后台取不到值 当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空”  .    方法一:不设置ReadOnly属性,通过οnfοcus=this.blur()来模拟,如下: <asp:TextBox ID="TextBox1" runat="server" οnfοcu

ASP.NET中引用dll“找不到指定模块&quot;的完美解决办法 z

DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息.DllImport属性应用于方法,要求最少要提供包含入口点的dll的名称.DllImport的定义如下: [AttributeUsage(AttributeTargets.Method)] public class DllImportAttribute: System.Attribute { public DllImportAttribute

ASP.NET中多个控件共享同一事件,sender的使用

当多个控件共享同一事件时,同时还需要在事件中区分到底是点击了那个控件时,就需要通过控件事件中的sender参数.方法是在事件中定义该控件的变量,如RadioButton控件的公共事件就定义 RadioButton radBtn = (RadioButton)sender; 这样就可以通过定义的控件变量去区分是那个控件触发了事件.如radBtn.ID就可以取到触发事件控件的ID属性.

input中的内容改变时触发的事件

onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发: onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是IE专有. oninput事件是IE之外的大多数浏览器支持的事件,在value改变时实时触发,但是通过js改变value时不会触发:基本写原生常用的是oninput. oninput与onpropertychange失效的情况: oninput事件: 1.当脚本中改变value时,不会触发: 2.从浏览器的自

oracle删除字段中的空格、回车及指定字符

create or replace procedure PROC_test is   --Description:删除字段中的指定字符(回车chr(13).换行chr(10))   --By LiChao   --Date:2016-03-01   colname varchar(20); --列名   cnt     number; --包含换行符的列的行数   v_sql   varchar(2000); --动态SQL变量begin   --读取表中的列   for col in (sel

girdview 中的radiobutton 的逐行触发checkedselected事件

<asp:TemplateField> <HeaderTemplate> <asp:Label runat="server" Text="Acc"></asp:Label> </HeaderTemplate> <ItemTemplate> <asp:RadioButton ID="RadSelect" runat="server" Text=&quo

asp.net中的ORA-12154: TNS: 无法解析指定的连接标识符

本机PL/SQL能正常连接,但是asp.net连接有问题. 临时解决方案: <add key="ConnectString" value="Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = xxx)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)));Persist Security Info=True;Us

手机网页中,长按会触发系统事件,怎么取消这些事件?

给要取消系统事件的元素加上如下css .test { -webkit-user-select: none; -moz-user-select: none; }