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

简介: 原文:asp.net中TextBox里面实现回车触发指定事件我在一个user_top用户控件里面做了个包括搜索的功能。然后再一个页面中添加这个用户控件。浏览时候在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>

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

目录
相关文章
|
.NET API 开发框架
ASP.NET Core中实现单体程序的事件发布/订阅
ASP.NET Core中实现单体程序的事件发布/订阅 背景# 事件发布/订阅是一种非常强大的模式,它可以帮助业务组件间实现完全解耦,不同的业务组件只依赖事件,只关注哪些事件是需要自己处理的,而不用关注谁来处理自己发布事件,事件追溯(Event Sourcing)也是基于事件发布/订阅的。
1650 0
|
.NET 数据库连接 开发框架
asp.net页面事件执行顺序(转)
#region OnPreInit 第一步    protected override void OnPreInit(EventArgs e)    {        //检查 IsPostBack 属性来确定是不是第一次处理该页。
715 0
|
.NET 开发框架
ASP.NET页面事件过程
UserControl1.ascx和UserControl2.ascx为先后在Test.aspx中创建的用户控件: 执行步骤 Test.aspx UserControl1.
703 0
|
JavaScript 前端开发 .NET
C# 和 asp.Net 中用回车代替Tab键
有很多的朋友都会问到这个问题。在C#的WinForm中可以在控件的OnKeyPress事件里写。代码如下   Control control = (Control)sender;if (e.KeyChar==13){    SendKeys.Send(" ")   //发送Tab    //this.GetNextControl(control,true).Select();  //选择下一个控件    e.Handled = true; //表示事件已经处理。
1053 0
|
JavaScript .NET 开发框架
在asp.net中,如何回车触发指定按钮的事件?
在.aspx页面中添加:function SubmitKeyClick(button) {     if (event.keyCode == 13)  {          event.keyCode=9;  event.
665 0
|
前端开发 NoSQL .NET
一起谈.NET技术,重构TekPub——从ASP.NET MVC框架迁移到Ruby on Rails
  TekPub是一个面向开发人员的站点,致力于为开发人员提供一系列主题的在线培训,主题范围非常广泛,从微软的O/R Mapping框架Microsoft Entity Framework,到如何使用Ruby on Rails技术编写自己的日志引擎等内容都有涉及。
1695 0
|
Web App开发 SQL 前端开发
一起谈.NET技术,鲜为人知的ASP.NET MVC 2.0框架高效之谜
  要想建立开发环境,你需要安装Visual Studio 2008/2010 Beta 2,以及SQL Express 2005(可免费从MSDN下载)和MVC 2.0框架。我把本文中的示例Web应用命名为“Employee Master Information”。
1050 0
|
存储 缓存 .NET
一起谈.NET技术,提高ASP.NET应用程序性能的十大方法
  一、返回多个数据集   检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量。
1270 0
|
.NET
一起谈.NET技术,ASP.NET 4.0 一些隐性的扩展
  ASP.NET 4.0在很多方面都做了改进,在这篇ASP.NET 4.0白皮书就描述了很多ASP.NET 4.0的机制改变和改进。在我的博客中,也有几篇关于ASP.NET4.0的特性修改的文章。但是作为一个全新的框架和运行时,内部肯定还会有很多API和扩展点不会暴露的那么明显。
886 0
|
Web App开发 .NET 数据库
一起谈.NET技术,ASP.NET中如何正确使用Session
  Asp.Net中的Session要比Asp中的Session灵活和强大很多,同时也复杂很多;看到有一些Asp.Net开发人员报怨说Session不稳定,莫名其妙的丢失,其实这正是Asp.Net改进的地方之一。
1090 0