HI,
I have a user control for address on my web page. When the address or city is changed, i get a valid zip from external url and display it in the zip combobox.
All this works good but after postback, the focus is not set to the user control or to the field which caused postback.
I saved in session the control that is causing postback and tried to set focus to that control on prerender as shown below.
It still doesn't set the focus to the control. How to set the focus to these controls?
<
asp:UpdatePanel
runat
=
"server"
ID
=
"up_ClientAddr"
UpdateMode
=
"Conditional"
ChildrenAsTriggers
=
"false"
>
<
ContentTemplate
>
<
table
>
<
tr
>
<
td
>
<
span
>Address:</
span
>
<
asp:RequiredFieldValidator
ID
=
"reqAddr"
runat
=
"server"
ControlToValidate
=
"txtAddr1"
ValidationGroup
=
"Add"
ErrorMessage
=
"Address is required."
ToolTip
=
"Address is required."
SetFocusOnError
=
"True"
></
asp:RequiredFieldValidator
>
</
td
>
<
td
>
<
telerik:RadTextBox
ID
=
"txtAddr1"
runat
=
"server"
OnTextChanged
=
"txtAddr1_TextChanged"
AutoPostBack
=
"true"
>
</
telerik:RadTextBox
>
<
asp:Label
ID
=
"lblAddr1"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
span
>Addr2/Apt#/Suite#: </
span
>
</
td
>
<
td
>
<
telerik:RadTextBox
ID
=
"txtAddr2"
runat
=
"server"
>
</
telerik:RadTextBox
>
<
asp:Label
ID
=
"lblRAddr2"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadComboBox
ID
=
"rcbCity"
runat
=
"server"
MarkFirstMatch
=
"true"
AutoPostBack
=
"true"
OnSelectedIndexChanged
=
"rcbCity_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
<
asp:Label
ID
=
"lblCity"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadComboBox
ID
=
"rcbZip"
runat
=
"server"
MarkFirstMatch
=
"true"
>
</
telerik:RadComboBox
>
<
asp:Label
ID
=
"lblZip"
runat
=
"server"
Text
=
""
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
ContentTemplate
>
</
asp:UpdatePanel
>
protected
void
txtAddr1_TextChanged(
object
sender, EventArgs e)
{
Session[
"event_control"
] =
"txtAddr1"
;
GetZipCodeValidateAndUpdateZipCodeField();
}
protected
void
rcbCity_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
Session[
"event_control"
] =
"rcbCity"
;
GetZipCodeValidateAndUpdateZipCodeField();
}
protected
void
rcbState_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
Session[
"event_control"
] =
"rcbState"
;
GetZipCodeValidateAndUpdateZipCodeField();
}
protected
void
Page_PreRender(
object
sender, EventArgs e)
{
if
(Session[
"event_control"
] !=
null
)
{
if
(Session[
"event_control"
].ToString() ==
"txtAddr1"
)
{
txtAddr1.Focus();
}
else
if
(Session[
"event_control"
].ToString() ==
"rcbCity"
)
{
txtAddr1.Focus();
}
else
if
(Session[
"event_control"
].ToString() ==
"rcbState"
)
{
txtAddr1.Focus();
}
}
}
Thanks in Advance