ASP.NET 跨頁面?zhèn)髦捣椒?/h1>
更新時間:2009年11月09日 17:14:11 作者:
ASP.NET跨頁面?zhèn)髦导记桑枰呐笥芽梢詤⒖枷隆?/div>
1. 使用QueryString變量
QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結(jié)構(gòu)簡單的數(shù)值時,可以使用這個方法。但是對于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個方法了。下面是一個例子:
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
string s_url;
s_url = "b.aspx?name=" + Label1.Text;
Response.Redirect(s_url);
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
}
2. 使用Application 對象變量
Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}
3. 使用Session變量
想必這個肯定是大家使用中最常見的用法了,其操作與Application類似,作用于用戶個人,所以,過量的存儲會導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
}
4. 使用Cookie對象變量
這個也是大家常使用的方法,與Session一樣,其是什對每一個用戶而言的,但是有個本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Request.Cookie["name"].Value.ToString();
}
5. 使用Server.Transfer方法
這個才可以說是面象對象開發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁面引導(dǎo)到另一個頁面中,新的頁面使用前一個頁面的應(yīng)答流,所以這個方法是完全面象對象的,簡潔有效。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
public string Name
{
get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
a newWeb; //實(shí)例a窗體
newWeb = (source)Context.Handler;
string name;
name = newWeb.Name;
}
6.post方法
復(fù)制代碼 代碼如下:
<form action="default.aspx" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
<label>xm
<input name="xm" type="text" id="xm" value="xiaoqi" style="width: 149px" />
</label>
<label><br />
xb
<input name="xb" type="text" id="xb" value="nan" style="width: 154px" />
</label>
<p>
<input type="submit" name="button" id="button" value="send" />
</p>
</form>
//獲取客戶端參數(shù)(post)2
this.Response.Write("<br/>" + this.Request.Form["xm"]);
this.Response.Write("<br/>" + this.Request.Form["xb"]);
this.Response.Write("<br/>請求類型:" + this.Request.RequestType);
this.Response.Write("<br/>從客戶端讀取POST成功!");
您可能感興趣的文章:
相關(guān)文章
-
.NET 排序 Array.Sort<T> 實(shí)現(xiàn)示例
System.Array.Sort<T> 是.NET內(nèi)置的排序方法, 本文就詳細(xì)的介紹一下具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下 2021-09-09
-
把.net Core 項(xiàng)目遷移到VS2019 for MAC的方法步驟
這篇文章主要介紹了把.net Core 項(xiàng)目遷移到VS2019 for MAC的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2020-03-03
-
asp.net core3.1cookie和jwt混合認(rèn)證授權(quán)實(shí)現(xiàn)多種身份驗(yàn)證方案
身份驗(yàn)證是確定用戶身份的過程。 授權(quán)是確定用戶是否有權(quán)訪問資源的過程。本文主要介紹了asp.net core3.1cookie和jwt混合認(rèn)證授權(quán)實(shí)現(xiàn)多種身份驗(yàn)證方案,感興趣的可以了解一下 2021-09-09
-
VS2019下opencv4.1.2配置圖文教程(永久配置)
這篇文章主要介紹了VS2019下opencv4.1.2配置圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2019-11-11
-
ASP.NET Core項(xiàng)目結(jié)構(gòu)教程(4)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core項(xiàng)目結(jié)構(gòu),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2017-06-06
-
已有打開的與此命令相關(guān)聯(lián)的DataReader,必須首先將它關(guān)閉。對于此異常的理解
今天與大家分享一下 已有打開的與此命令相關(guān)聯(lián)的DataReader,必須首先將它關(guān)閉。這個異常的個人理解 2012-01-01
-
.NET?Core?實(shí)現(xiàn)一個自定義日志記錄器
在應(yīng)用程序中,日志記錄是一個至關(guān)重要的功能,不僅有助于調(diào)試和監(jiān)控應(yīng)用程序,還能幫助我們了解應(yīng)用程序的運(yùn)行狀態(tài),所以本文就將使用.NET?Core?實(shí)現(xiàn)一個自定義日志記錄器,需要的可以參考下 2024-12-12
-
.Net Core配置Configuration具體實(shí)現(xiàn)
這篇文章主要介紹了.Net Core配置Configuration具體實(shí)現(xiàn),文中運(yùn)用大量代碼進(jìn)行講解,如果有對相關(guān)知識感興趣的小伙伴可以參考這篇文章,希望可以幫助到你 2021-09-09
最新評論
1. 使用QueryString變量
QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結(jié)構(gòu)簡單的數(shù)值時,可以使用這個方法。但是對于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個方法了。下面是一個例子:
a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e)
{
string s_url;
s_url = "b.aspx?name=" + Label1.Text;
Response.Redirect(s_url);
}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
}
2. 使用Application 對象變量
Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}
3. 使用Session變量
想必這個肯定是大家使用中最常見的用法了,其操作與Application類似,作用于用戶個人,所以,過量的存儲會導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。
a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
}
4. 使用Cookie對象變量
這個也是大家常使用的方法,與Session一樣,其是什對每一個用戶而言的,但是有個本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用。
a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e)
{
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Request.Cookie["name"].Value.ToString();
}
5. 使用Server.Transfer方法
這個才可以說是面象對象開發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁面引導(dǎo)到另一個頁面中,新的頁面使用前一個頁面的應(yīng)答流,所以這個方法是完全面象對象的,簡潔有效。
a.aspx的C#代碼
public string Name
{
get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e)
{
a newWeb; //實(shí)例a窗體
newWeb = (source)Context.Handler;
string name;
name = newWeb.Name;
}
6.post方法
<form action="default.aspx" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
<label>xm
<input name="xm" type="text" id="xm" value="xiaoqi" style="width: 149px" />
</label>
<label><br />
xb
<input name="xb" type="text" id="xb" value="nan" style="width: 154px" />
</label>
<p>
<input type="submit" name="button" id="button" value="send" />
</p>
</form>
//獲取客戶端參數(shù)(post)2
this.Response.Write("<br/>" + this.Request.Form["xm"]);
this.Response.Write("<br/>" + this.Request.Form["xb"]);
this.Response.Write("<br/>請求類型:" + this.Request.RequestType);
this.Response.Write("<br/>從客戶端讀取POST成功!");
QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結(jié)構(gòu)簡單的數(shù)值時,可以使用這個方法。但是對于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個方法了。下面是一個例子:
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
string s_url;
s_url = "b.aspx?name=" + Label1.Text;
Response.Redirect(s_url);
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
}
2. 使用Application 對象變量
Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}
3. 使用Session變量
想必這個肯定是大家使用中最常見的用法了,其操作與Application類似,作用于用戶個人,所以,過量的存儲會導(dǎo)致服務(wù)器內(nèi)存資源的耗盡。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
}
4. 使用Cookie對象變量
這個也是大家常使用的方法,與Session一樣,其是什對每一個用戶而言的,但是有個本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
private void Button1_Click(object sender, System.EventArgs e)
{
HttpCookie cookie_name = new HttpCookie("name");
cookie_name.Value = Label1.Text;
Reponse.AppendCookie(cookie_name);
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
string name;
name = Request.Cookie["name"].Value.ToString();
}
5. 使用Server.Transfer方法
這個才可以說是面象對象開發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁面引導(dǎo)到另一個頁面中,新的頁面使用前一個頁面的應(yīng)答流,所以這個方法是完全面象對象的,簡潔有效。
a.aspx的C#代碼
復(fù)制代碼 代碼如下:
public string Name
{
get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer("b.aspx");
}
b.aspx中C#代碼
復(fù)制代碼 代碼如下:
private void Page_Load(object sender, EventArgs e)
{
a newWeb; //實(shí)例a窗體
newWeb = (source)Context.Handler;
string name;
name = newWeb.Name;
}
6.post方法
復(fù)制代碼 代碼如下:
<form action="default.aspx" method="post" enctype="application/x-www-form-urlencoded" name="form1" id="form1">
<label>xm
<input name="xm" type="text" id="xm" value="xiaoqi" style="width: 149px" />
</label>
<label><br />
xb
<input name="xb" type="text" id="xb" value="nan" style="width: 154px" />
</label>
<p>
<input type="submit" name="button" id="button" value="send" />
</p>
</form>
//獲取客戶端參數(shù)(post)2
this.Response.Write("<br/>" + this.Request.Form["xm"]);
this.Response.Write("<br/>" + this.Request.Form["xb"]);
this.Response.Write("<br/>請求類型:" + this.Request.RequestType);
this.Response.Write("<br/>從客戶端讀取POST成功!");
您可能感興趣的文章:
相關(guān)文章
.NET 排序 Array.Sort<T> 實(shí)現(xiàn)示例
System.Array.Sort<T> 是.NET內(nèi)置的排序方法, 本文就詳細(xì)的介紹一下具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下2021-09-09
把.net Core 項(xiàng)目遷移到VS2019 for MAC的方法步驟
這篇文章主要介紹了把.net Core 項(xiàng)目遷移到VS2019 for MAC的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
asp.net core3.1cookie和jwt混合認(rèn)證授權(quán)實(shí)現(xiàn)多種身份驗(yàn)證方案
身份驗(yàn)證是確定用戶身份的過程。 授權(quán)是確定用戶是否有權(quán)訪問資源的過程。本文主要介紹了asp.net core3.1cookie和jwt混合認(rèn)證授權(quán)實(shí)現(xiàn)多種身份驗(yàn)證方案,感興趣的可以了解一下2021-09-09
VS2019下opencv4.1.2配置圖文教程(永久配置)
這篇文章主要介紹了VS2019下opencv4.1.2配置圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
ASP.NET Core項(xiàng)目結(jié)構(gòu)教程(4)
這篇文章主要為大家詳細(xì)介紹了ASP.NET Core項(xiàng)目結(jié)構(gòu),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
已有打開的與此命令相關(guān)聯(lián)的DataReader,必須首先將它關(guān)閉。對于此異常的理解
今天與大家分享一下 已有打開的與此命令相關(guān)聯(lián)的DataReader,必須首先將它關(guān)閉。這個異常的個人理解2012-01-01
.NET?Core?實(shí)現(xiàn)一個自定義日志記錄器
在應(yīng)用程序中,日志記錄是一個至關(guān)重要的功能,不僅有助于調(diào)試和監(jiān)控應(yīng)用程序,還能幫助我們了解應(yīng)用程序的運(yùn)行狀態(tài),所以本文就將使用.NET?Core?實(shí)現(xiàn)一個自定義日志記錄器,需要的可以參考下2024-12-12
.Net Core配置Configuration具體實(shí)現(xiàn)
這篇文章主要介紹了.Net Core配置Configuration具體實(shí)現(xiàn),文中運(yùn)用大量代碼進(jìn)行講解,如果有對相關(guān)知識感興趣的小伙伴可以參考這篇文章,希望可以幫助到你2021-09-09

