你說一個頁的值,傳到另一頁不用,session 和 catch
能用什麼,怎麼用,
queryString 然後用 response.redirect()接
Server.Transfer
| |
|
ASP.NET WEB FORMS 給開發者提供了極好的事件驅動開發模式。然而這種簡單的應用程式開發模式卻給我們帶來了一些小問題,舉個例子,在傳統的ASP應用程式中,你能夠通過POST方法很容易的把一個值或多個值從一個頁面傳送到另一個頁面,用同樣的方法在ASP.NET中實作有點麻煩。在這裡,我們可以通過其他方式來解決這種情形。ASP.NET為我們提供了三種方式,一種是可以通過用QueryString來傳送相應的值,再一種是通過session變量來傳送相應的值,還有就是通過Server.Transfer方法來實作。下面分别一一介紹: 一、使用Querystring Querystring是一種非常簡單的傳值方式,其缺點就是會把要傳送的值顯示在浏覽器的位址欄中,并且在此方法中不能夠傳遞對象。如果你想傳遞一個安全性不是那麼太重要或者是一個簡單的數值時,用此方法最好不過了。下面通過一個小例子來完成傳值工作,步驟如下: 1、建立一個web form 2、在建立的web form中放置一個button1,在放置兩個TextBox1,TextBox2 3、為button按鈕建立click事件 代碼如下: private void Button1_Click (object sender, System.EventArgs e) { string url; url="webform2.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text; Response.Redirect(url); } 4、建立一個目标頁面命名為webform2 5、在webform2中放置兩個Label1,Label2 在webform2的Page_Load中添加如下代碼: private void Page_Load (object sender, System.EventArgs e) { Label1.Text=Request.QueryString["name"]; Label2.Text=Request.QueryString["email"]; } 運作,即可看到傳遞後的結果了。 二、使用Session變量 使用Session變量傳值是一種最常見的方式了,此中方式不僅可以把值傳遞到下一個頁面,還可以交叉傳遞到多個頁面,直至把Session變量的值removed後,變量才會消失。舉個例子看看: 1、建立一個web form 2、在建立的web form中放置一個button1,在放置兩個TextBox1,TextBox2 3、為button按鈕建立click事件 代碼如下: private void Button1_Click (object sender, System.EventArgs e) { Session["name"]=TextBox1.Text; Session["email"]=TextBox2.Text; Response.Redirect("webform2.aspx"); } 4、建立一個目标頁面命名為webform2 5、在webform2中放置兩個Label1,Label2 在webform2的Page_Load中添加如下代碼: private void Page_Load (object sender, System.EventArgs e) { Label1.Text=Session["name"].ToString(); Label2.Text=Session["email"].ToString(); Session.Remove("name"); Session.Remove("email"); } 運作,即可看到傳遞後的結果了。 三、使用Server.Transfer 雖然這種方法有點複雜,但也不失為一種在頁面傳值的方式。 舉個例子看看: 1、建立一個web form 2、在建立的web form中放置一個button1,在放置兩個TextBox1,TextBox2 3、為button按鈕建立click事件 代碼如下: private void Button1_Click (object sender, System.EventArgs e) { Server.Transfer("webform2.aspx"); } 4、建立過程來傳回TextBox1,TextBox2控件的值代碼如下: public string Name { get { return TextBox1.Text; } } public string EMail { get { return TextBox2.Text; } } 5、建立一個目标頁面命名為webform2 6、在webform2中放置兩個Label1,Label2 在webform2的Page_Load中添加如下代碼: private void Page_Load (object sender, System.EventArgs e) { //建立原始窗體的執行個體 WebForm1 wf1; //獲得執行個體化的句柄 wf1=(WebForm1)Context.Handler; Label1.Text=wf1.Name; Label2.Text=wf1.EMail; } 運作,即可看到傳遞後的結果了。 |
小壘 23:01:14
抽象類與接口的差別
小壘 23:01:18
?
思維電腦屋 00:08:43
abstract interface
思維電腦屋 00:08:46
abstract class Demo {
abstract void method1();
abstract void method2();
…
}
思維電腦屋 00:08:58
interface Demo {
void method1();
void method2();
…
}