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能傳遞的大小,以2KB為限。
所以超過2KB時...請使用Server.Transfer吧。
接收頁(命名為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 只能切換到同目錄或子目錄的網頁。
Server.Transfer 只能切換到同目錄或子目錄的網頁。
安全性 :Response.Redirect後,url會變成你所指向的新網頁。
Server.Transfer後,url不變,隱藏了新網頁的url及附帶的參數值(具有保密功能)。
Server.Transfer後,url不變,隱藏了新網頁的url及附帶的參數值(具有保密功能)。
傳遞容量:指網址後面所附帶的參數,
Response.Redirect能傳遞的大小,以2KB為限。
所以超過2KB時...請使用Server.Transfer吧。
速度 :Response.Redriect是最快的,也是最直接滴!
留言
張貼留言