文本框打破我的头在一些看似简单的后,我在这里:专注于内部GridView和的UpdatePanel
我有一个ASP.NET GridView
的包裹里面UpdatePanel
。一旦用户在最后一行的最后一个文本框中输入了一些内容并移出,我就向gridview添加了一个新行。这通过触发文本框的OnTextChanged
事件并将其AutoPostBack
属性设置为true来完成服务器端。该位通过使用UpdatePanel
进行了Ajax化。
我的简单要求是:一旦局部刷新超过,我需要将焦点设置在新添加的行的第一个文本框中。
我试了一下:
//Get the newly added row (basically the last row)
GridViewRow newRow = myGridView.Rows[myGridView.Rows.Count - 1];
//Get the TextBox control on which I want to set focus
TextBox textBox = newRow.FindControl("txtMyCode") as TextBox;
//Set the focus
ScriptManager.GetCurrent(this.Page).SetFocus(textBox);
在单步调试代码,上述各行的执行,然而,部分回发完成时,文本框没有焦点。 ScriptManager.GetCurrent(this.Page)
返回母版页上的AjaxControlToolkitScriptManager
的实例。
任何想法?
你是如何添加行以及何时何地的?尝试使用'RowDataBound'来代替。 –