在ASP.NET中可以使用Server.Transfer實現(xiàn)在頁面間傳值,但這種方法需要創(chuàng)建源頁面的實例,也就是使用一種面向?qū)ο蟮姆椒ㄔ陧撁骈g傳值。這種方法的具體步驟為:
(1)在源頁面中定義相關屬性,用于帶出該頁面中的值。
(2)在源網(wǎng)頁中使用Server.Transfer方法轉(zhuǎn)到目標網(wǎng)頁;
(3)在目標網(wǎng)頁中使用Context.Handler屬性獲取源網(wǎng)頁中的值。
下面使用一個例子來介紹。
在源網(wǎng)頁中的代碼頁(假設這個源網(wǎng)頁名稱為FirstPage),添加屬性
public string UserName
{
get //定義get訪問器返回該頁面中需要傳出的值
{
return TextBox1.Text;
}
}
public string UserSex
{
get
{
return TextBox2.Text;
}
}
緊接著可以使用按鈕觸發(fā)頁面的跳轉(zhuǎn)
private void Button1_Click (object sender, System.EventArgs e)
{
Server.Transfer("SecondPage.aspx");
}
在目標頁面的Load事件中可以添加下面的代碼:
private void Page_Load (object sender, System.EventArgs e)
{
//首先定義源網(wǎng)頁的一個實例
FirstPage firstPage1;
//使用Context.Handler得到源網(wǎng)頁實例的引用
firstPage1 = (FirstPage)Context.Handler;
Label1.Text = firstPage1.UserName; //獲取源網(wǎng)頁中的UserName屬性的值
Label2.Text = firstPage1.UserSex; //獲取源網(wǎng)頁中的UserSex屬性的值
}
這種方法麻煩,但是面向?qū)ο蟮模踩砸草^高一些。
新聞熱點
疑難解答
圖片精選