我已经尝试使用DATATABLE来存储整个应用程序的值。我没有使用任何数据库来永久存储值。这是我可以在应用程序中使用的虚拟值。在C#中的数据表中动态添加多行
这个问题实际上是每当向我的DATATABLE中添加一个新的行值时,它就会覆盖DATATABLE中的先前值而不是添加新行。
是否有机会动态地向DATATABLE添加多行,并且我可以在整个应用程序会话中使用它。
**我的注册页面**
public partial class _Default : System.Web.UI.Page
{
DataTable myDataTable;
protected void Page_Load(object sender, EventArgs e)
{
myDataTable = new DataTable();
myDataTable.Columns.Add("username");
myDataTable.Columns.Add("firstname");
myDataTable.Columns.Add("lastname");
myDataTable.Columns.Add("password");
myDataTable.Columns.Add("conpassword");
myDataTable.Columns.Add("email");
myDataTable.Rows.Add("kavi1", "kavi", "rajan", "123456", "123456", "[email protected]");
myDataTable.Rows.Add("sri1", "sri", "prem", "123456", "123456", "[email protected]");
myDataTable.Rows.Add("mani1", "mani", "vanan", "123456", "123456", "[email protected]");
HttpContext.Current.Session["name"] = myDataTable;
if (!IsPostBack)
{
if (Session["name"] != null)
{
myDataTable = Session["name"] as DataTable;
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
myDataTable.Rows.Add(new object []{ TextBox1.Text ,TextBox2.Text,TextBox3.Text , TextBox4.Text,TextBox5.Text ,TextBox6.Text });
HttpContext.Current.Session["name"] = myDataTable;
if (Session["name"] != null)
{
Response.Write("success");
}
}
我的登录页面
public partial class login : System.Web.UI.Page
{
DataTable dtResult;
protected void Page_Load(object sender, EventArgs e)
{
dtResult = (DataTable)Session["name"];
}
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < dtResult.Rows.Count; i++)
{
string un = dtResult.Rows[i].Field<string>("username");
string fn = dtResult.Rows[i].Field<string>("password");
if (TextBox1.Text == un && TextBox2.Text == fn)
{
//Response.Write("success");
Response.Redirect("home.aspx");
}
}
}
是它解决,或者您还有问题? – 2014-09-11 07:35:36
没有解决。 。 – 2014-09-12 09:39:34