asp.net文本框焦点问题

时间:2013-08-22 04:18:44

标签: c# asp.net

我试图在asp.net中的页面加载上设置焦点文本框,如下所示

protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!IsPostBack)
            {
               // fillUnitType();
                //
                fillLastCode();
                txt_Grn_Date.Text = System.DateTime.Now.ToString("dd-MM-yyyy");
                setinitialrow_lvl();
 txt_Po_No.Focus();

            }
        }
        catch (Exception ex)
        {

            lblMessage.Text = ex.Message;
        }
    }

但文本框没有集中精力。我错过了什么我用过更新面板是因为那个。?或者我的CSS有点错误。

4 个答案:

答案 0 :(得分:1)

在javascript中试试这个

<script language=javascript>

function fnLoad(){
document.getElementById("<%= txt_Po_No.ClientID %>").focus();

}

</script>

在身体的“fnLoad”事件中调用“onLoad()”函数。

您需要在body标签中添加此功能:喜欢

<body onload="fnLoad()">........</body>

<强>更新

尝试另一种方式

<script language=javascript>
    $(document).ready(function(){  document.getElementById("<%= txt_Po_No.ClientID %>").focus();}) 
  </script>

<script language=javascript>
        $(window).load(function(){  document.getElementById("<%= txt_Po_No.ClientID %>").focus();}) 
      </script>

答案 1 :(得分:1)

在代码隐藏中编写以下函数,并为每个控件调用此函数

private void Set_Focus(string controlname)
{
string strScript;

strScript = "<script language=javascript> document.all('" + controlname + "').focus() </script>";
RegisterStartupScript("focus", strScript);
}

设置

tapindex = 0
TextBox1.Focus();

 textBox1.Select();

 protected override void OnShown(EventArgs e)
    {
        textBox1.Focus();
        base.OnShown(e);
    }

setTimeout("myFocusFunction()", 500);

    function myFocusFunction(){
        $("#myTextBoxID").focus();
    }

答案 2 :(得分:1)

我已尝试使用其中的updatepanel和textbox。

<强>代码隐藏

CodeBehind

<强>的.aspx

.aspx

<强>输出

Output

答案 3 :(得分:0)

试试这段代码..

string jsCode= "<script language=javascript>document.getElementById('<%= TEXTBOX.ClientID%>').focus();</script>";   


ClientScript.RegisterClientScriptBlock(GetType(), "txtbox",jsCode, false);