0

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

  1. (TextBox)DetailsView.FindControl("TextBox1").Focus()
  2. Page.SetFocus("TextBox1");
  3. 通过查看页面源和 SetFocus 获取此文本框的 Id。
  4. 在设置焦点之前确保 DetailsView 处于编辑/插入模式。

以上都没有奏效,我被卡住了。

注意 - 如果 DetailsView 在 Panel 内但在 tabpanel 内的位置不起作用,则它可以工作

4

1 回答 1

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); 
于 2013-08-26T17:59:55.497 回答