1. 程式人生 > >頁面傳值得幾種方式

頁面傳值得幾種方式

一、 使用QueryString變數
QueryString是一種非常簡單也是使用比較多的一種傳值方式,但是它將傳遞的值顯示在瀏覽器的位址列中,如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。

Response.Redirect( "target.aspx?param1=hello¶m2=hi ")
接收頁面: string str = Request.QueryString["param1"];
string str1 = Request.QueryString["param2];
二.使用Cookie物件變數(Cookie是存放在客戶端的)
設定Cookie: HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);

獲取Cookie:
string name= Request.Cookie["name"].Value.ToString();

三. 使用Session變數(session是存放在

伺服器端的)
設定Session: Session["name"] ="hello";
獲取Session: string name = Session["name"].ToString();
四.使用Application 物件變數
Application物件的作用範圍是整個全域性,也就是說對所有使用者都有效。此種方法不常使用,因為Application在一個應用程式域範圍共享,所有使用者可以改變及設定其值,故只應用計數器等需要全域性變數的地方。
設定Application : Application["name"] = ="hello";
獲取Application : string name = Application["name"].ToString();
五. PostBackUrl()方法
default.aspx頁面:

Code
1 <asp:Button ID="Button1" Runat="server" Text="PostToAnotherPage" PostBackUrl="~/Default2.aspx" />
2
default2.aspx頁面:

Code
1 if (PreviousPage != null)
2 {
3 TextBox textBox1 = (TextBox)PreviousPage.FindControl("TextBox1");
4 Response.write(textBox1.Text );
5 }

六.使用Server.Transfer方法
這個才可以說是面象物件開發所使用的方法,其使用Server.Transfer方法把流程從當前頁面引導到另一個頁面中,新的頁面使用前一個頁面的應答流,所以這個方法是完全面象物件的,簡潔有效。下面這個程式碼是展示在需要很多個引數的時候,使用的方法,如果引數比較少就沒必要使用這個方法了.
如果讓所有的查詢頁面都繼承一個介面,在該介面中定義一個方法,該方法的唯一作用就是讓結果頁面獲得構建結果時所需的引數,就可實現多頁面共享一個結果頁面操作!