如何在会话中存储多个值
问题描述:
我正在创建一个应用程序,在其中我从数据库中检索数据。我将数据存储在会话变量中并显示数据,但会话只显示一条记录。但在数据库中包含10条记录。我希望会话应显示10条记录。
i am creating an application in which i retrive data from database. i am store data in session variable and display a data but session display only one record. but in database contains 10 record . i want session should display 10 record.
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=Aarambh;Initial Catalog=rebuild_technology;Integrated Security=True");
SqlCommand cmd = new SqlCommand("select * from content_managment ", con);
DataSet ds = new DataSet("temp");
SqlDataAdapter ad = new SqlDataAdapter();
ad.SelectCommand = cmd;
ad.Fill(ds);
// DataRow dr = ds.Tables[0].Rows[0];
Session["divhtml_heading1"] = ds.Tables[0].Rows[0];
// Session["divhtml_heading2"] = dr["divhtml_content"].ToString();
}
答
你可以在会话中存储整个数据表,当你得到数据然后在datatable中转换会话。像那样
you can store whole datatable in session and when you getting data then cast session in datatable. like that
Session["SessionName"] = dt; // dt is data table
// get data like this
DataTable Dtbl= (DataTable)Session["SessionName"];
Session [divhtml_heading1 ] = ds.Tables [0] .Rows [0];
您在会话中存储了一个Row值,因此您只需返回一个值!
Do:
Session["divhtml_heading1"] = ds.Tables[0].Rows[0];
You stored one Row value in session and so you just get back one!
Do:
Session["divhtml_heading1"] = ds.Tables[0];
// Later to retrieve it
DataTable dt = (DataTable)Session["divhtml_heading1"];
参考:
MSDN:ASP.NET会话状态概述 [ ^ ]
Hello Manohar
试试这个
Hello Manohar
Just try this
SqlCommand cmd1 = new SqlCommand("select * from content_managment ", con);
SqlDataReader dr1 = cmd1.ExecuteReader();
var yourList = new List<int>();
if (dr1.HasRows)
{
while (dr1.Read())
{
yourList.Add(Convert.ToInt32(dr1[0]));
}
}
Session["divhtml_heading1"] = yourList;
dr1.Close();
cmd1.Dispose();