首页 > 解决方案 > 我可以通过在 ASP.Net 编写的 VB.net 中单击按钮将新行添加到数据网格视图吗

问题描述

假设我有 2 个文本框、1 个按钮和 1 个 gridview,我想通过单击按钮将数据从文本框添加到 gridview。
我怎样才能达到它。
我试过下面的代码,但它取代了旧行。

Private dt As New DataTable

Private Sub Btnidadd_Click(sender As Object, e As EventArgs) Handles Btnidadd.Click
dt.Columns.Add("First Name")
dt.Columns.Add("Last Name")

Dim R As DataRow = dt.NewRow
R("First Name") = textbox1.Text
R("Last Name") = textbox2.Text

dt.Rows.Add(R)
GridView1.DataSource = dt
GridView.DataBind()

标签: asp.netvb.net

解决方案


当您单击 ASP.NET 中的按钮时,将发生回发并重新创建页面。因此,您需要将数据保存在某个地方。

例如,如果您将其保存到这样的会话变量中。

Private dt As DataTable

Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    If Not IsPostBack Then
        dt = New DataTable
        dt.Columns.Add("First Name")
        dt.Columns.Add("Last Name")
        Session("dt") = dt
    Else
        dt = CType(Session("dt"), DataTable)
    End If
End Sub

Private Sub Btnidadd_Click(sender As Object, e As EventArgs) Handles Btnidadd.Click

    Dim R As DataRow = dt.NewRow
    R("First Name") = TextBox1.Text
    R("Last Name") = TextBox2.Text

    dt.Rows.Add(R)
    GridView1.DataSource = dt
    GridView1.DataBind()

    Session("dt") = dt
End Sub

推荐阅读