updatepanel and text box set focus

Hi Expert,

I used a updatepanel,  inside this panel, I have two radio buttons and two regular panels, when I click on radio button1, I want panel one to show and inside panel one I want set focus on txtFirstName, I write code to do it, but it do not work, How to make it works?

code fragment are here

Protected Sub rdType_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdType.SelectedIndexChanged
        If (rdType.SelectedItem.Value = "new") Then
            Me.Panelone.Visible = true
            Me.txtfirstName.Focus()

thanks in advance
LVL 1
dshi15Asked:
Who is Participating?
 
dshi15Connect With a Mentor Author Commented:
I found solution online. Thanks.

Me.ScriptManager1.SetFocus(txtfirstName)
0
 
David H.H.LeeCommented:
Hi dshi15,
I've tested the code that mentioned, it's working fine under my test case. Please post the design code here in case it not match yours.
Check my tested code here:
aspx
============
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
          <ContentTemplate>
            <asp:RadioButtonList ID="rdType" runat=server AutoPostBack="True">
                <asp:ListItem Value="new">Option 1</asp:ListItem> 
                <asp:ListItem Value="old">Option 2</asp:ListItem> 
            </asp:RadioButtonList> 
            <asp:Panel ID="Panelone" runat=server Visible=false>Panel one<asp:TextBox ID="txtfirstName" runat=server></asp:TextBox></asp:Panel> 
            <asp:Panel ID="Paneltwo" runat=server Visible=false>Panel two<asp:TextBox ID="txt1" runat=server></asp:TextBox></asp:Panel> 
        <asp:ScriptManager ID="ScriptManager1" runat="server">
              </asp:ScriptManager>
          </ContentTemplate> 
        </asp:UpdatePanel>
          
    </div>
    </form>
</body>
 
code-behind
============
Protected Sub rdType_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rdType.SelectedIndexChanged
        If (rdType.SelectedItem.Value = "new") Then
            Me.Panelone.Visible = True
            Me.txtfirstName.Focus()
        End If
    End Sub

Open in new window

0
 
dshi15Author Commented:
thanks, I will test code and let you know.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
dshi15Author Commented:
I tested code, panel one is show and txtfirstname box is show but cursor not jump inside the box.

<body>
    <form id="form1" runat="server">
   
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server">
              </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
          <ContentTemplate>
            <asp:RadioButtonList ID="rdType" runat="server" AutoPostBack="True">
                <asp:ListItem Value="new">Option 1</asp:ListItem>
                <asp:ListItem Value="old">Option 2</asp:ListItem>
            </asp:RadioButtonList>
            <asp:Panel ID="Panelone" runat="server" Visible="false">Panel one<asp:TextBox ID="txtfirstName" runat="server"></asp:TextBox></asp:Panel>
            <asp:Panel ID="Paneltwo" runat="server" Visible="false">Panel two<asp:TextBox ID="txt1" runat="server"></asp:TextBox></asp:Panel>
       
          </ContentTemplate>
        </asp:UpdatePanel>
         
   
    </div>
    </form>
</body>


Protected Sub rdType_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles rdType.SelectedIndexChanged
        If (rdType.SelectedItem.Value = "new") Then
            Me.Panelone.Visible = True
            Me.txtfirstName.Focus()
        End If
    End Sub
0
 
dshi15Author Commented:
I need to mention I have several text box in panel one and I let cursor set in txtfirstname box, so client can fill information.
0
 
dshi15Author Commented:
If i comment on updatepanel, it works fine. I used IE7.

<body>
    <form id="form1" runat="server">
   
    <div>
    <%--<asp:ScriptManager ID="ScriptManager1" runat="server">
              </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
          <ContentTemplate>--%>
            <asp:RadioButtonList ID="rdType" runat="server" AutoPostBack="True">
                <asp:ListItem Value="new">Option 1</asp:ListItem>
                <asp:ListItem Value="old">Option 2</asp:ListItem>
            </asp:RadioButtonList>
            <asp:Panel ID="Panelone" runat="server" Visible="false">Panel one
            <asp:TextBox ID="txtfirstName" runat="server"></asp:TextBox>
            <asp:TextBox ID="txtlastName" runat="server"></asp:TextBox>
            </asp:Panel>
            <asp:Panel ID="Paneltwo" runat="server" Visible="false">Panel two<asp:TextBox ID="txt1" runat="server"></asp:TextBox></asp:Panel>
       
       <%--   </ContentTemplate>
        </asp:UpdatePanel>--%>
         
   
    </div>
    </form>
</body>
0
 
David H.H.LeeCommented:
Hi dshi15,
Ok, perhaps your design code is more complicated. I'm glad to hear you find your preferred solution and you may request admin to make this PAQ with points refund.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.