无法在detailView内部设置焦点

时间:2013-08-26 15:17:01

标签: asp.net

DetailsView.FindControl("TextBox1")会返回正确的文本框,我想设置焦点,但使用以下任何一种方式设置焦点都不起作用

  1. (文本框)DetailsView.FindControl( “TextBox1中”)。聚焦()
  2. Page.SetFocus( “TextBox1中”);
  3. 通过查看页面源和SetFocus来获取此文本框的ID。
  4. 确保在设置焦点之前DetailsView处于编辑/插入模式。
  5. 以上都没有奏效,我被困住了。

    注意 - 如果DetailsView在Panel内部但在tabpanel

    内部不起作用,则它可以工作

1 个答案:

答案 0 :(得分:0)

而不是

(TextBox)DetailsView.FindControl("TextBox1").Focus();

尝试

ScriptManager.RegisterStartupScript(this, this.GetType(), "SetFocus", "document.getElementById('" + (TextBox)DetailsView.FindControl("TextBox1").ClientID + "').focus();", true);

更新

这是使用ScriptManager的另一种方法:

TextBox textBox = (TextBox)DetailsView.FindControl("TextBox1");
ScriptManager.GetCurrent(this).SetFocus(textBox); 
相关问题