Loss of update panel trigger from data binding table in tab container

I am having trouble getting a command link in gridview in order to maintain the ability to change tabs after the initial postback. So, below you will see the structure of my content (greatly simplified):

  <ajaxToolkit:TabContainer runat="server" ID="tabBody">     
    <ajaxToolkit:TabPanel runat="server" ID="tabPanel1">
      <ContentTemplate>
        <asp:UpdatePanel runat="server" ID="updPanel1">
          <ContentTemplate>
            <asp:Gridview runat="server" ID="grd1" OnRowCommand="grd1_RowCommand" OnRowDataBound="grd1_RowDataBound">
                <asp:TemplateField>
                  <ItemTemplate>
                     <asp:LinkButton ID="lnkChangePanels" runat="server" CommandArgument='<%#Eval("id") %>' CommandName="gotopanel2" Text='<%#Eval("FirstName") & " " & Eval("LastName")%>' /> 
                  </ItemTemplate>
               </asp:TemplateField>
            </asp:Gridview>
          </ContentTemplate>
        </asp:UpdatePanel>
      </ContentTemplate>
    </ajaxToolkit:TabPanel>
    <ajaxToolkit:TabPanel runat="server" ID="tabPanel2">
      <ContentTemplate>
        <asp:UpdatePanel runat="server" ID="updPanel2">
          <ContentTemplate>
            <asp:Gridview runat="server" ID="grd2">

            </asp:Gridview>
          </ContentTemplate>
        </asp:UpdatePanel>
      </ContentTemplate>
    </ajaxToolkit:TabPanel>
 </ajaxToolkit:TabContainer>

To populate the gridview in panel 1, there is a search box that the user enters, and I call a function to bind the linq request to it.

Now I am adding the rowcommand command as a postback trigger for rowdataound:

Protected Sub grd1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim lb As LinkButton = CType(e.Row.FindControl("lnkChangePanels"), LinkButton)
            If Not lb Is Nothing Then
                ToolkitScriptManager1.RegisterPostBackControl(lb)
            End If
        End If
    End Sub

Then here is the code I have to invoke so that the tab bar changes (and do some other things):

Protected Sub grd1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grd1.RowCommand
    Dim id = e.CommandArgument.ToString()
    Select Case e.CommandName
       Case "gotopanel2"
            eventDetails(id, "C")
            tabBody.ActiveTab = tabPanel2
    End Select
End Sub

, . gridview 1, .

, , , ?

.

+4
1

. .

TabContainer UpdatePanel, UpdatePanels ( ). , UpdateMode "".

, , , , UpdatePanel , , , div (tabPanel) UpdatePanel. , , , .

, , , , javascript ajax toolkit TabContainer.

+1

Source: https://habr.com/ru/post/1537009/


All Articles