如何存入多条数据进入datatable,并且把datatable存入viewstate,最后把viewstate绑定给gridview。。

2024-12-22 20:20:09
推荐回答(3个)
回答1:

Button3_Click事件是回发的,点击一个按钮会触发页面回发,每次发送请求的时候页面会初始化,都会执行Page_Load{},使得DataTable dt = new DataTable("AddGoods");,这样datatale里面每次都只有一行
protected void Page_Load(object sender, EventArgs e)
{
//在该事件里应该绑定,并且要在if(!Is.PostBack){里面写代码}
if(!Is.PostBack)
{
DataColumn dc = null;
dc = dt.Columns.Add("ID", Type.GetType("System.Int32"));
…………
dc = dt.Columns.Add("Count", Type.GetType("System.Int32"));

ViewState["dt"] = dt; //注意这行,因为下面Button3_Click事件会触发页面回发,所以在这里应该吧DataTable保存一次
}
}

protected void Button3_Click(object sender, EventArgs e)
{
DataTable dt = ViewState["dt"] as DataTable; //注意这行
DataRow newRow;
newRow = dt.NewRow();
………………

}

回答2:

每次发送请求的时候页面会初始化也就是说每次都会执行 DataTable dt = new DataTable("AddGoods");
我的建议是把dt变成个单例
DataTable static dt = new DataTable("AddGoods");

回答3:

我感觉貌似不能实现