asp.net - 我可以通过在 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.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
推荐阅读
- kotlin - 如何在 Kotlin 中只显示小时?显示数据 hh:mm:ss 但我只想显示 hh:mm:ss 到 hh
- javascript - 如何使用 jQuery .html() 传递变量和一些 HTML
- excel - Excel:制作折扣总成本的公式
- node.js - 在 hexo d 之后,当 diaplay 从公用文件夹复制文件时... git 停止了,我不知道为什么
- google-chrome-extension - 如何确保扩展服务工作者的事件处理程序中的异步调用运行完成?
- apple-id - 如何重置 Apple ID 隐私问答?
- dynamics-crm - Microsoft Dynamics CRM 中活动的安全角色
- python-3.x - Python:采用数组输入的函数的多维集成
- sql - 从 SQL 中删除未使用的 CTE
- python - Conda 更新后打开 Spyder 的问题