VB 如何在不重新加载页面的情况下单击按钮附加到 DataGrid

How to append to DataGrid on button click without page reload in VB

我有一个方法可以从数据库中获取 returns 个字符串,它最初被添加到 Datagrid 中。现在我想更改实现,以便在完全呈现后,用户可以单击按钮并将字符串附加到 Datagrid,而无需再次重新加载页面。

   Private Sub GetCustomerAlternateChannels()

        Dim accountNo = GenericManager.decryptQueryString(Request.QueryString("AccountNumber"))
        Dim CustomerChannels = GetCustomerDetails(accountNo)
        Dim mobileOne As String = CustomerChannels.mobileOne + "/" + CustomerChannels.mobileOneStatus
        Dim mobileTwo As String = CustomerChannels.mobileTwo + "/" + CustomerChannels.mobileTwoStatus
        Dim mobileThree As String = CustomerChannels.mobileThree + "/" +CustomerChannels.mobileThreStatus
        Dim mobileFour As String = CustomerChannels.mobileFour + "/" + CustomerChannels.mobileFourtatus
        Dim mobileFive As String = CustomerChannels.mobileFiveStatus



        Dim ChannelTable As New DataTable
        ChannelTable.Columns.Add("Mobile One")
        ChannelTable.Columns.Add("Mobile Two")
        ChannelTable.Columns.Add("Mobile Three")
        ChannelTable.Columns.Add("Mobile Four")
        ChannelTable.Columns.Add("Mobile Five")
        ChannelTable.Rows.Add(mobileOne, mobileTwo , mobileThree , mobileFour , mobileFive )
        DataGrid1.DataSource = ChannelTable
        DataGrid1.DataBind()
    End Sub

这是景色。 我希望用户单击此按钮以获取 "" 并调用上述方法并在不重新加载页面的情况下追加

 <div class="purplebackground"  style="color:#ffffff; margin-top: 5px; font-size: 12px">
             <p  style="font-weight: 700; font-weight: 700; margin-left: 10px; font-weight: normal; font-size: 14px;">Alternate Channel </p>   
                <asp:Button ID="btnSubmit" runat="server" CssClass="button_alt_2" Text="Submit" OnClick="btnSubmit_Click" />
            <asp:DataGrid ID="DataGrid1" runat="server" style="width: 100%; margin-top: -8px; font-weight: 600; border: 1px solid #5c2684;">  
             </asp:DataGrid> 
        </div>

我让它与 asp:UpdatePanel 一起工作 我所做的就是用 asp:UpdatePanel 包装数据网格并创建一个点击事件

<asp:UpdatePanel ID="UpdatePanel4" runat="server" class=""  style="color:#ffffff; margin-top: 5px; font-size: 12px">
    <ContentTemplate>
       <p  style="font-weight: 700; font-weight: 700; margin-left: 10px; font-weight: normal; font-size: 14px;">Channels<span> <asp:Button ID="availableChannel" runat="server" Text="Get channels"  CssClass="tdcolor" /> </span></p>
          <asp:DataGrid ID="DataGrid1" runat="server" style="width: 100%; margin-top: -8px; font-weight: 600; border: 1px solid #5c2684;">  
          </asp:DataGrid>         
    </ContentTemplate>
</asp:UpdatePanel>

使用更新面板避免 post 返回。

 <asp:UpdatePanel ID="UpdatePanel4" runat="server">
    <ContentTemplate>

    // Write your code here

    </ContentTemplate>
  </asp:UpdatePanel>