[ASP.NET] 同一網站的參數傳遞
同一個網站不同網頁的值可以用
1.來源網站的屬性
1-1.在目的地網頁用PreviousPageType指示詞來指定來源頁
<%@ PreviousPageType VirtualPath="~/Source.aspx" %>
1-2.在目的地頁使用PreviousPage方法來取得值
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(PreviousPage.myText);
}
1-3.在來源頁定義以下屬性
public string myText
{
get { return TextBox1.Text; }
}
1-4.在來源頁增加一個按鈕,定義PostBackUrl為目的地頁
如此一來目的頁便可取得來源頁的屬性
2.來源網站的控制項
2-1.在來源頁增加一個按鈕,定義PostBackUrl為目的地頁
2-2.此法比上一個方法更為簡單,只要利用PreviousPage.FindControl方法來取得來源頁的控制項ID
protected void Page_Load(object sender, EventArgs e)
{
TextBox tb = ((TextBox)PreviousPage.FindControl("TextBox1"));
Response.Write(tb.Text);
}
3.來源網站的Form
3-1.在來源頁增加一個按鈕,定義PostBackUrl為目的地頁
3-2.同樣是利用控制項的功能,不過這次是利用Form
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.Form["TextBox2"]);
}
4.尋問字串QueryString
利用QueryString直接傳遞
4-1.在來源頁
protected void Button4_Click(object sender, EventArgs e)
{
Response.Redirect("~/Target4.aspx?myText=" + TextBox4.Text);
}
4-2.在來源頁定義以下屬性
public string myText
{
get { return TextBox4.Text; }
}
4-3.在目的頁利用Request.QueryString屬性來讀取
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.QueryString["myText"]);
}
PS.
上述方法僅適用跨網頁的PostBack或是伺服器從新導向
來源網頁與目的地網頁必須要在同一個網站內
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET