主要目的是 先進資料庫抓取讀取等級以後 用SESSION傳送至IF ELSE內判斷要轉到哪個網頁
但是判斷完成以後 卻沒有把網頁導向過去
想請問一下我這樣寫是哪裡出錯了嗎 謝謝
dimitry1001提到:
if (Session["MyLevel"] != null)
代表... Session["MyLevel"] 是 Null 狀態
dimitry1001提到:
Session["MyLevel"] = readD.GetInt32(6);
請用 Debug 中斷點檢查...readD.GetInt32(6) 是否有讀出值傳給 Session["MyLevel"]
測試了一下,
你所寫的判斷式,沒有問題才對。
你應該是卡在Server.Transfer
我有試著用Response.Redirect去導入其它的頁面,
只是我想這樣子你導入的頁面就抓取不到Session["MyLevel"] 它的值了。
按照你提供的程式碼
加上 try-catch 語句來捕獲 Server.Transfer 沒有把網頁導向過去的原因:
int? myLevel = readD.GetInt32(6);
if (myLevel != null)
{
Session["MyLevel"] = myLevel;
string targetPage = myLevel == 0 ? "Frameset_NOAdmin.aspx" : "Frameset.aspx";
try
{
Server.Transfer(targetPage);
}
catch (Exception ex)
{
Console.WriteLine("Error transferring to " + targetPage + ": " + ex.Message);
}
}