2011-03-09 35 views
0

私はいくつかのAJAX機能を持つ非常に複雑なページを持っています。ページの構造は、<asp:ScriptManager> aspxページ&の3つのユーザーコントロールで構成されています。ScriptManager.SetFocusが動作しません

ページ内のユーザーコントロールの1つは、別のユーザーコントロールへのリンクです。

第2レベルのユーザーコントロールには、<asp:UpdatePanel>個のコントロールが含まれています。アップデートパネルの中で、<asp:RadioButtonList>コントロールをAutoPostBack="True"に設定し、SelectedIndexChangedイベントでは、ScriptManager.GetCurrent(Page).SetFocus(txtAddressLine1);を使用して、ラジオボタンリストに特定の値が選択されているときにフォーカスをテキストボックスに設定しようとしています。

フォーカスは現在設定されていませんが、フォーカスを設定するコードをデバッグするときに実行されています。

この構造体(aspx - > user control - > UpdatePanelを使用したネストされたユーザーコントロール)を使用して簡単なサンプルページを作成し、フォーカスが正しく設定されています。

フォーカスを設定しない原因について何か提案がありますか?

IIS、Visual Studio 2010 Professional、.NET 4.0、C#でWindows 7を使用していて、web.configに<xhtmlConformance>プロパティの設定がありません。

+0

クライアント側にJavaScriptエラーがありますか? –

+0

クライアント側にJavaScriptエラーはありません – Anthony

答えて

1

問題は、ユーザーコントロールに次のコードによって引き起こされた:

protected void Page_PreRender(object sender, EventArgs e) 
{ 
    if (txtQNumber != null) txtQNumber.Focus(); 
} 

フォーカスScriptManager.SetFocus()をオーバーライドする別のテキストフィールドに設定されていました。

関連する問題