<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!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>Untitled Page</title>
    <script  type ="text/javascript">
  
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
         <input id="textfield" runat="server"  type="text" autocomplete="on" class="ls12" value="--输入搜索文字内容--" size="19" />
        <asp:Button ID="Button2" runat="server" Text="Button" OnClick="Button2_Click" /></div>
    </form>
    
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
     
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       //我希望在页面的文本框中按Enter键后走这个方法
    }
}刚才的问题问错了,为了避免刷粉的嫌疑,从新发,还请大家多多原谅。
我的这个是按钮是查询功能,按钮和文本框 都封装在用户控件里,希望在在页面的文本框中按Enter键后执行查询方法

解决方案 »

  1.   

    其实这个很简单,答案我在上贴已经给出了这里讲下原理好了我们都知道asp.net会在页面上生成类似这种<script type="text/javascript">
    <!--
    var theForm = document.forms['form1'];
    if (!theForm) {
        theForm = document.form1;
    }
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    // -->
    </script>function __doPostBack(eventTarget, eventArgument) 
    看这个函数第一个参数,表明引发回传的控件,第二个参数表明这个事件的参数,通常为空 -> ''那么我们在这里指定一下,那么asp.net 就默认是它引发的,我们可以这样做<script >
        
            function abc()
            {
            
                <%=Page.ClientScript.GetPostBackClientHyperlink(Button2, "") %>;  //这里指定引发是哪个控件引发的回传
                  //生成的代码类似为  javascript:__doPostBack('Button2','');
                return false;
            }
    </script>
    我们知道原理之后就可以改代码了所有代码如下..方便你看<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!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 >
        
            function abc()
            {
            
                <%=Page.ClientScript.GetPostBackClientHyperlink(Button2, "") %>;
                return false;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
            <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" /></div>
        </form>
    </body>
    </html>using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page 
    {    protected void Page_Load(object sender, EventArgs e)
        {
            Button1.Attributes.Add("onclick", "return abc()");  // 这里给button1指定脚本事件
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write("button1 click");
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            Response.Write("button2 click");
        }
    }
      

  2.   

    ....问题不同是吧...
     <input id="textfield" runat="server"  type="text" autocomplete="on" class="ls12" value="--输入搜索文字内容--" size="19" onkeydown="searchEnter()"
     />
    <script language="javascript" type="text/javascript">
        function searchEnter()
        {
            if( 13 == event.keyCode )
            {
                event.returnValue=false;
                event.cancel = true;
                document.getElementById('<%= this.Button2.ClientID  %>').click();
            }
        }
    </script>
      

  3.   

    配合脚本实现 (焦点在TextBox1时 按回车执行Button1的单击事件 下例已经通过调试)
    <asp:TextBox ID="TextBox1" runat="server" Text="在此回车" />
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
        
        //加载时添加onkeydown事件
        protected void Page_Load(object sender, EventArgs e)
        {
            TextBox1.Attributes.Add("onkeydown", "javascript:doKeydown()");
        } function doKeydown()
        {
         if (event.keyCode==13)
         {
             event.returnValue=false; 
                event.cancel=true; 
             document.all('Button1').click();
         }    
        }
      

  4.   

    添加一个隐藏(style="display:none")的linkbutton,然后该linkbutton的后台click事件调用该函数就可以了
    __doPostBack("linkbuttonID",   "") 
      

  5.   

    WO_YOU_XIE_SHANG_XIN 
    神说我的老婆在火星上,于是我每天晚上看星星,真美 方法可用谢谢。