【问题标题】:asp.net textbox focus problemsasp.net 文本框焦点问题
【发布时间】:2013-08-22 04:18:44
【问题描述】:

我正在尝试将焦点设置在 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 有点问题。

【问题讨论】:

  • 信息太少
  • @tariq :请查看我的编辑。
  • 过去的代码txt_Po_No.Focus();在外面! isPostBack
  • @RameshRajendran:不工作。
  • 试试拉梅什的建议

标签: c# asp.net


【解决方案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();
    }

【讨论】:

  • 它的工作。将这个函数粘贴到后面的代码中。从页面加载调用这个函数,以 Set_Focus(textbox1.text) 作为参数..
【解决方案2】:

在javascript中试试这个

<script language=javascript>

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

}

</script>

在主体的“onLoad”事件上调用“fnLoad()”函数..

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

<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>

【讨论】:

  • 绝对。但必须调用body标签中的函数。
  • 当我使用 ClientScript.RegisterStartupScript(GetType(),"id","callMyJSFunction()",true);这我的控制消失了。页面变为空白。
  • 你需要在body标签中添加这个函数:like ''
  • 我有一个母版页。所以没有body标签。
  • 查看我的更新答案。
【解决方案3】:

我已经尝试过使用 updatepanel 和里面的文本框。

代码隐藏

.aspx

输出

【讨论】:

    【解决方案4】:

    试试这个代码..

    string jsCode= "<script language=javascript>document.getElementById('<%= TEXTBOX.ClientID%>').focus();</script>";   
    
    
    ClientScript.RegisterClientScriptBlock(GetType(), "txtbox",jsCode, false);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      相关资源
      最近更新 更多