【发布时间】:2013-11-13 12:41:53
【问题描述】:
我有一个从 sql 获取的数据表,在对每一行进行一些处理之后,我在数据表中添加一列来显示处理结果,然后我想将其发送到 asp.net 中的另一个页面,什么是最好的办法? 可以使用会话还是什么?
我用 session 试试,但我不确定它是否可以,因为很多人使用我的服务器。
DataTable dt = new DataTable();
dt.Columns.Add("img", typeof(string));
dt.Columns.Add("soratvaziat", typeof(string));
dt.Columns.Add("shomaregharardad", typeof(string));
dt.Columns.Add("sharh", typeof(string));
dt.Columns.Add("eghdam", typeof (Boolean));
DataRow dtrow = dt.NewRow(); // Create New Row
dtrow["img"] = "accepted.png"; //Bind Data to Columns
dtrow["soratvaziat"] = "SureshDasari";
dtrow["shomaregharardad"] = "B.Tech";
dtrow["sharh"] = "Chennai";
dtrow["eghdam"] = true;
dt.Rows.Add(dtrow);
dtrow = dt.NewRow(); // Create New Row
dtrow["img"] = "attention.png"; //Bind Data to Columns
dtrow["soratvaziat"] = "MadhavSai";
dtrow["shomaregharardad"] = "MBA";
dtrow["sharh"] = "Nagpur";
dtrow["eghdam"] = true;
dt.Rows.Add(dtrow);
dtrow = dt.NewRow(); // Create New Row
dtrow["img"] = "canceled.png"; //Bind Data to Columns
dtrow["soratvaziat"] = "MaheshDasari";
dtrow["shomaregharardad"] = "B.Tech";
dtrow["sharh"] = "Nuzividu";
dtrow["eghdam"] = true;
dt.Rows.Add(dtrow);
dtrow = dt.NewRow(); // Create New Row
dtrow["img"] = "accepted.png"; //Bind Data to Columns
dtrow["soratvaziat"] = "Mahendra";
dtrow["shomaregharardad"] = "CA";
dtrow["sharh"] = "Guntur";
dtrow["eghdam"] = false;
dt.Rows.Add(dtrow);
RadGrid1.DataSource = dt;
RadGrid1.DataBind();
Session["dt"] = dt;
【问题讨论】:
-
您无法在 SQL 中为新行进行插入,而在另一个页面中对所有插入的行进行另一次查询?当您有数据库时,这是最佳选择。比在会话中存储大量数据更好地为单个用户进行多次插入和选择
-
您是否在数据表中保留客户特定的数据?
-
不要在会话中存储数据表。坏坏坏。太臃肿,太重,如果您在会话中存储大型对象,那么您需要重新考虑您的方法。