У меня возникла проблема с хранением и отображением значений из datatable. Моя цель - добавить значение к datatable, перезагрузить страницу, а затем отобразить datatable с добавленным значением и дать возможность ввести больше. В настоящее время я даже не могу получить таблицу данных. Я уверен, что это проблема с сохранением данных в сеансе, но я просто не могу заставить экономить/загружать сессию работать.Создание и сохранение значений в Datatable Использование переменной сеанса
Я предлагаю любую помощь, которую вы, ребята, можете мне дать, и я прошу прощения, если это что-то действительно ослепительно простое. Кажется, мне просто нужно второе мнение.
Это мой текущий веб-страницы,
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<p><asp:TextBox ID="txtName" runat="server"></asp:TextBox><asp:TextBox ID="txtEmail" runat="server"></asp:TextBox><asp:TextBox ID="txtAddress" runat="server"></asp:TextBox><asp:TextBox ID="txtInfo" runat="server"></asp:TextBox></p>
<p>
<asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="btnAdd_Click"/></p>
</div>
<div>
<table border="1">
<asp:Repeater ID="rptrData" runat="server">
<HeaderTemplate>
<tr>
<td>Name</td>
<td>Email</td>
<td>Address</td>
<td>Info</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("Name") %></td>
<td><%#Eval("Email") %></td>
<td><%#Eval("Address") %></td>
<td><%#Eval("Info") %></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td><%#Eval("Name") %></td>
<td><%#Eval("Email") %></td>
<td><%#Eval("Address") %></td>
<td><%#Eval("Info") %></td>
</tr>
</AlternatingItemTemplate>
</asp:Repeater>
</table>
</div>
</form>
</body>
</html>
И мой текущий код позади,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Net;
using System.Data;
using System.Collections;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
public DataTable MyDT = new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable MyDT = (DataTable)Session["MyDT"];
rptrData.DataSource = MyDT;
rptrData.DataBind();
}
}
protected void btnAdd_Click(object sender, EventArgs e)
{
//DataTable MyDT = new DataTable();
MyDT.Columns.Add("Name");
MyDT.Columns.Add("Address");
MyDT.Columns.Add("Email");
MyDT.Columns.Add("Info");
string Name = txtName.Text;
string Address = txtAddress.Text;
string Email = txtEmail.Text;
string Info = txtInfo.Text;
DataRow dtRow = MyDT.NewRow();
dtRow["Name"] = Name;
dtRow["Address"] = Address;
dtRow["Email"] = Email;
dtRow["Info"] = Info;
Session.Add("MyDT", MyDT);
}
}
}
Вы хотите только добавить столбцы в один из следующих данных, я рекомендую загружать страницы, но не каждый раз, когда вы нажимаете кнопку «Добавить». –