微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将字符串传递给Page.SetFocus

如何解决无法将字符串传递给Page.SetFocus

客户希望保存(回传)后光标返回到最后一个文本框。我已完成所有设置,但Page.SetFocus将不接受变量_toFocus。但是,如果我对其进行硬编码,它将可以完美地工作。

    protected void TextChangedCheckFail(object sender,EventArgs e)
    {
        TextBox someTxt = sender as TextBox;
        _toFocus = someTxt.ID.ToString();
        //_toFocus = "\"" + someTxt.ID.ToString() + "\"";  Does NOT work
        if (Page.IsPostBack)
        {
            lblTest.Text = _toFocus;  //This label always shows that _toFocus is accurate ID
            //sets focus to the proper control
            Page.SetFocus(_toFocus);  //Does not work
            Page.SetFocus(txtDate);   //Works perfectly

        }
        DidItFail();
    }

在我的一生中,我无法弄清楚为什么您不能传递变量。

回答我自己的问题以帮助他人。因为Page.SetFocus要求您传递CONTROL!

Page.SetFocus(someTxt);效果完美(someTxt是我从发件人创建的TextBox)。

解决方法

在发帖时(精神错乱两个小时后),我发现了自己的问题。

我的新代码

protected void TextChangedCheckFail(object sender,EventArgs e)
{
    TextBox someTxt = sender as TextBox;
    if (Page.IsPostBack)
    {
        //sets focus to the proper control
        Page.SetFocus(someTxt);
    }
    DidItFail();
}
,

您可以通过仅在文本框本身上调用焦点来设置焦点。 TextBoxID.Focus();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。