我有一个相当复杂的页面,它具有一些AJAX功能。该页面的结构由aspx页面中的一个<asp:ScriptManager>和3个用户控件组成。
页中的一个用户控件链接到另一个用户控件。
第二级用户控件包含许多<asp:UpdatePanel>控件。在更新面板中,我使用了一个设置为AutoPostBack="True"的<asp:RadioButtonList>控件,在SelectedIndexChanged事件中,当单选按钮列表具有特定的选定值时,我使用ScriptManager.GetCurrent(Page).SetFocus(txtAddressLine1);尝试将焦点设置到文本框中。
当前未设置焦点,但在调试代码以设置焦点时正在执行。
我用这种结构创建了一个简单的示例页面(aspx、->用户控件、带有UpdatePanel的->嵌套用户控件),并且焦点设置正确。
有没有人有什么建议,可能会导致焦点没有设置?
我正在使用Windows7和IIS,Visual Studio2010Professional,.NET 4.0,C#,web.config没有为<xhtmlConformance>属性设置任何东西。
发布于 2011-03-10 07:56:23
该问题是由用户控件中的以下代码引起的:
protected void Page_PreRender(object sender, EventArgs e)
{
if (txtQNumber != null) txtQNumber.Focus();
}焦点被设置为覆盖ScriptManager.SetFocus()的另一个文本字段。
https://stackoverflow.com/questions/5253491
复制相似问题