我想在ASP.NET中使用會話狀態在兩個頁面之間傳遞數據。需要傳遞的數據來自GridView的單元格。因此,在SelectedIndexChanged事件我存儲的數據那樣:會話不記得設置值
protected void GridViewEmployees_SelectedIndexChanged(object sender, EventArgs e)
{
Session["Name"] =
this.GridViewEmployees.Rows[GridViewEmployees.SelectedIndex].DataItem;
}
然後,我想在另一個頁面中使用會話的內容。代碼:
protected void Page_Load(object sender, EventArgs e)
{
string name = (string)(Session["Name"]);
string[] names = name.Split(' ');
this.EntityDataSourceNorthwind.Where =
"it.[FirstName] = \'" + names[0] +
"\' AND it.[lastName] = \'" + names[1] + "\'";
}
但我得到一個空引用異常。另外,我在Page_Load事件中設置了會話初始化,並在那裏存儲了會話,一切正常。我的意思是:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Name"] == null)
{
Session["Name"] = "Andrew Fuller";
}
}
這是在發送信息的頁面中。
如果您需要更多來源或信息,請將其寫下。它將盡快提供。
在此先感謝!
GridViewEmployees_SelectedIndexChanged方法是否被正確調用? – skaz 2011-05-18 17:49:25
把'if(!Page.IsPostBack){if(Session ...}'放入你的'Page_Load'中,看看是否有幫助。 – 2011-05-18 17:50:00
@skaz我試圖通過幾種方式獲取數據,但它不是通過任何方式發生的... @ rlb.usa沒有幫助,但是這是必要的,謝謝 – Tsvetan 2011-05-18 17:52:48