asp.net 傳值問題 我想開啟另個網頁後 它會接收值

2010-03-27 6:55 am
問題如下
我在a程式裡
if (ans == 1)
{
Session["name"] = transmit;
Response.Redirect("teacher.aspx");
} 用session方法 想把變數transmit 的內容 存到name裡
b程式
protected void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
na.Text = name;
}
在網頁載入時 用變數name去接收 na是一個label 我用來測試接收內容的
可是卻發生一個錯誤
" 並未將物件參考設定為物件的執行個體 " 錯誤的是下面這行
行 18: name = Session["name"].ToString();
請問 各位大大 要怎麼解決這個問題呢@@?
我用Application 方法 也遇到同樣問題 所以我覺得我一定是哪裡觀念不正確

回答 (1)

2010-03-27 8:22 am
✔ 最佳答案
我想問題出在
if (ans == 1)
假如 ans != 1,Session["name"] 並未設定為物件,b程式就會出現所遇到的錯誤。可以試用以下的方法,在 if block 外先設定物件。

if (Session["name'] == null)
Session.Add("name", "");
if (ans == 1)
{
Session["name"] =
transmit;
Response.Redirect("teacher.aspx");

}

在b程式內先偵測 Session["name"] 是否巳經建立
if (Session["name'] != null)
{
}
else
{
}


收錄日期: 2021-04-26 13:17:16
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100326000015KK08620

檢視 Wayback Machine 備份