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();