当前位置: 代码迷 >> ASP.NET >> asp.net中让服务器端控件 在load时获得焦点,该怎么解决
  详细解决方案

asp.net中让服务器端控件 在load时获得焦点,该怎么解决

热度:402   发布时间:2013-02-26 00:00:00.0
asp.net中让服务器端控件 在load时获得焦点
在页面加载完   显示出来时   希望在一个文本框(服务器端控件)里面光标就在了(获得焦点)我直接输入数据就行了   不用再用鼠标点一下

这是我希望得到的效果但没成功   下面是我搞的几种方法   都不行
方法   1
private   void   Page_Load(object   sender,   System.EventArgs   e)
{
//   在此处放置用户代码以初始化页面
Page.RegisterStartupScript( "focus ",   " <script   language=javascript> document.all( 'Tsignid ').focus() </script> ");
或者
Page.RegisterStartupScript( "focus ", " <script   language=javascript> document.getElementById( 'Tsignid ').focus(); </script> ");
-------------------------------------------------------
方法     2
public   static   void   GetFocus(System.Web.UI.Page   p,string   Control_ID)  
{  
string   msg;  
msg   =   " <script   language= 'javascript '> ";  
msg   += "document.getElementById( ' "+   Control_ID   + " ').focus(); ";  
msg   += " </script> ";  

p.RegisterStartupScript( "getFocus ",msg);  
}  

private   void   Page_Load(object   sender,   System.EventArgs   e)
{
//   在此处放置用户代码以初始化页面
GetFocus(this.Page,Tsignid.ID);
----------------------------------------------------------------
方法3
<body       onload= "document.form1.textbox1.focus(); ">
----------------------------------------------------
方法   4
static       public       bool       SetFocus(System.Web.UI.Control       control)      
    {      
    if       (HttpContext.Current.Request.Browser.JavaScript)      
    {      
    control.Page.RegisterStartupScript( "SetFocus ", " <script       language= 'javascript '> document.forms[0]. "       +      
    control.ClientID       + ".focus(); </script> ");      
    return       true;      
    }      
    return       false;      
    }  

  调用:      
    SetFocus(this.txtBoxName);

郁闷啊   有办法没

------解决方案--------------------------------------------------------
<body onload= "form1.txtabno.focus(); ">
<asp:TextBox ID= "txtabno " runat= "server "/>
------解决方案--------------------------------------------------------
Response.Write( " <script for=window event=onload> form1.TextBox1.focus(); </script> ");
------解决方案--------------------------------------------------------
例如:page_load里面

Page.SetFocus(button1); //this.SetFocus(button1)
Page.SetFocus(button1.ClientId); //母板页用UniqueId

也可以前台 <form> 里写
<form runat= "server " defaultFocus= "button1 " ..............>
------解决方案--------------------------------------------------------
还可以
button.Focus();
  相关解决方案