asp.net頁面間傳值

輸入頁(Default.aspx),程式碼檔(Default.cs)
接收頁(命名為get.aspx),程式碼檔(get.cs)

-------------------------------------------------------------------------------------------
法1--->使用session

Default.aspx
放入一個TextBox,將ID取名為TBox。
放入一個Button。在按鈕上點兩下產生事件。

Default.cs
 protected void Button1_Click(object sender, EventArgs e)
    {
        Session["name"] = TBox.Text;    // Session["此session的名稱"] = 要夾帶的資料
        Response.Redirect("get.aspx");   //導向get.aspx頁面
    }

get.aspx
放入一個Label,將ID取名為show

get.cs
 protected void Page_Load(object sender, EventArgs e)
    {
        show.Text = Session["name"].ToString();
    }




-------------------------------------------------------------------------------------------
法2--->使用Server.Transfer

Default.aspx
放入一個TextBox,將ID取名為TBox。
放入一個Button。在按鈕上點兩下產生事件。

Default.cs
 protected void Button1_Click(object sender, EventArgs e)
    {
        Context.Items["name"] = TBox.Text;
        Server.Transfer("get.aspx", true);
    }

get.aspx
放入一個Label,將ID取名為show

get.cs
 protected void Page_Load(object sender, EventArgs e)
    {
       show.Text = Context.Items["name"].ToString();
    }





-------------------------------------------------------------------------------------------
法3--->使用QueryString

Default.aspx
放入二個TextBox,將ID取名為TBox、TBox2
放入一個Button。在按鈕上點兩下產生事件。

Default.cs
 protected void Button1_Click(object sender, EventArgs e)
    {
       Response.Redirect("get.aspx?name=" + TBox.Text  + "&name2=" + TBox2.Text );  
     //Response.Redirect("接收頁名稱 ? 接收變數 =" + 欲傳送資料);   若有兩個以上則用 & 隔開。
若接收頁只要用一個label顯示,則get.aspx?name=" + TBox.Text + TBox2.Text 
    }

get.aspx
放入二個Label,將ID取名為show、show2

get.cs
 protected void Page_Load(object sender, EventArgs e)
    {
      show.Text = Request.QueryString["name"];
      show2.Text = Request.QueryString["name2"];
    }




Querystring是ASP.NET狀態管理(ASP.NET State Management)機制中常用到的傳遞資料方式之一
Querystring(查詢字串)是附加在網頁URL結尾的資訊。主要是在Url上傳遞資料,在網址結尾加上一個問號(?)開始,每一組參數都是用「&」區隔開來,是一種KEY / Value的組合。
  
-------------------------------------------------------------------------------------------


目地對象:Response.Redirect 可以切換到任何的網頁。
     Server.Transfer 只能切換到同目錄或子目錄的網頁。
安全性 :Response.Redirect後,url會變成你所指向的新網頁。
     Server.Transfer後,url不變,隱藏了新網頁的url及附帶的參數值(具有保密功能)。

傳遞容量:指網址後面所附帶的參數,
     Response.Redirect能傳遞的大小,以2KB為限。
     所以超過2KB時...請使用Server.Transfer吧。
速度  :Response.Redriect是最快的,也是最直接滴!

image

留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題