将焦点放在Page Load上的asp.net控件上

时间:2011-05-04 10:16:31

标签: javascript pageload clientscript

我希望在加载页面时将焦点设置在控件上。 我写了这段代码但没有工作..

protected void setFocus(System.Web.UI.Control ctrl)
    {
        string s = "<SCRIPT language='javascript'>document.getElementById('" + ctrl.ID + "').focus() </SCRIPT>";
        Type csType = this.GetType();
        ClientScript.RegisterStartupScript(csType, "focus", s);
    }

和PageLoad方法中的这一行:

this.setFocus(txtHeightfeet);

请帮忙。

编辑:

这是HTML:

<input name="ctl00$MainContent$txtHeightfeet" type="text" maxlength="2" id="MainContent_txtHeightfeet" class="textEntry2" style="width:65px;" />

这是aspx代码:

<asp:TextBox ID="txtHeightfeet" runat="server" CssClass="textEntry2" MaxLength="2" Width="65"></asp:TextBox>&nbsp;ft&nbsp;

并且在cs文件后面的代码中,我声明它与你提到的相同。

1 个答案:

答案 0 :(得分:3)

您应该只能调用控件的Focus()方法。

不需要那个Javascript。

protected void Page_Load(object sender, EventArgs e)
{
    txtHeightfeet.Focus(); 
}