ASP.NET 跨頁(yè)面?zhèn)髦捣椒?/h1>
更新時(shí)間:2009年11月09日 17:14:11 作者:
ASP.NET跨頁(yè)面?zhèn)髦导记?,需要的朋友可以參考下?/div>
1. 使用QueryString變量
QueryString是一種非常簡(jiǎn)單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個(gè)或多個(gè)安全性要求不高或是結(jié)構(gòu)簡(jiǎn)單的數(shù)值時(shí),可以使用這個(gè)方法。但是對(duì)于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個(gè)方法了。下面是一個(gè)例子:
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 對(duì)象變量
Application對(duì)象的作用范圍是整個(gè)全局,也就是說(shuō)對(duì)所有用戶都有效。其常用的方法用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變量
想必這個(gè)肯定是大家使用中最常見(jiàn)的用法了,其操作與Application類(lèi)似,作用于用戶個(gè)人,所以,過(guò)量的存儲(chǔ)會(huì)導(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對(duì)象變量
這個(gè)也是大家常使用的方法,與Session一樣,其是什對(duì)每一個(gè)用戶而言的,但是有個(gè)本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Request來(lái)使用。
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方法
這個(gè)才可以說(shuō)是面象對(duì)象開(kāi)發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁(yè)面引導(dǎo)到另一個(gè)頁(yè)面中,新的頁(yè)面使用前一個(gè)頁(yè)面的應(yīng)答流,所以這個(gè)方法是完全面象對(duì)象的,簡(jiǎn)潔有效。
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/>請(qǐng)求類(lèi)型:" + this.Request.RequestType);
this.Response.Write("<br/>從客戶端讀取POST成功!");
您可能感興趣的文章:- asp.net傳多個(gè)值到其它頁(yè)面的具體實(shí)現(xiàn)
- ASP.NET實(shí)現(xiàn)頁(yè)面?zhèn)髦档膸追N方法小結(jié)
- asp.net后臺(tái)關(guān)閉當(dāng)前頁(yè)面并傳值的兩種方法
- ASP.NET 頁(yè)面?zhèn)髦党S梅椒偨Y(jié)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼(前后臺(tái))
- ASP.NET頁(yè)面?zhèn)鬟f值的方式介紹
- asp.net 頁(yè)面間傳值與跳轉(zhuǎn)的區(qū)別
- ASP.NET 頁(yè)面之間傳遞值方式優(yōu)缺點(diǎn)比較
- asp.net 頁(yè)面?zhèn)髦档膸讉€(gè)方法
- ASP.Net頁(yè)面間變量值傳遞的方法
相關(guān)文章
-
jQuery調(diào)用WebService返回JSON數(shù)據(jù)及參數(shù)設(shè)置注意問(wèn)題
.NET Framework 3.5的發(fā)布解決了WebService調(diào)用中json問(wèn)題,本文將介紹jQuery調(diào)用基于.NET Framework 3.5的WebService返回JSON數(shù)據(jù),感興趣的朋友可以了解下,希望本文對(duì)你有所幫助 2013-01-01
-
ASP.NET(C#) 定時(shí)執(zhí)行一段代碼
在Global.asax啟動(dòng)一條線程就ok了,下面是啟動(dòng)線程定時(shí)寫(xiě)文件的例子.
2009-11-11
-
.net Core連接MongoDB數(shù)據(jù)庫(kù)的步驟詳解
這篇文章主要給大家介紹了關(guān)于.net Core連接MongoDB數(shù)據(jù)庫(kù)步驟的相關(guān)資料,文中將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。 2018-02-02
-
asp.net 動(dòng)態(tài)生成控件并獲取其值
代碼比較簡(jiǎn)單,所以不多做解釋了:
2009-02-02
-
asp.net 購(gòu)物車(chē)實(shí)現(xiàn)詳細(xì)代碼
asp.net 購(gòu)物車(chē)實(shí)現(xiàn)詳細(xì)代碼 2008-11-11
-
IIS中ASP.NET連接SQL Server出錯(cuò)的解決方法
在IIS中運(yùn)行的ASP.NET應(yīng)用程序其所屬用戶名為ASPNET的特定用戶,其默認(rèn)權(quán)限是無(wú)法訪問(wèn)SQL Server的,更不可能訪問(wèn)ASP.NET應(yīng)用程序的數(shù)據(jù)庫(kù)了,因此要在IIS中訪問(wèn)SQL Server就需要給ASPNET帳戶賦予相應(yīng)的權(quán)限.
2010-03-03
最新評(píng)論
1. 使用QueryString變量
QueryString是一種非常簡(jiǎn)單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個(gè)或多個(gè)安全性要求不高或是結(jié)構(gòu)簡(jiǎn)單的數(shù)值時(shí),可以使用這個(gè)方法。但是對(duì)于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個(gè)方法了。下面是一個(gè)例子:
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 對(duì)象變量
Application對(duì)象的作用范圍是整個(gè)全局,也就是說(shuō)對(duì)所有用戶都有效。其常用的方法用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變量
想必這個(gè)肯定是大家使用中最常見(jiàn)的用法了,其操作與Application類(lèi)似,作用于用戶個(gè)人,所以,過(guò)量的存儲(chǔ)會(huì)導(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對(duì)象變量
這個(gè)也是大家常使用的方法,與Session一樣,其是什對(duì)每一個(gè)用戶而言的,但是有個(gè)本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Request來(lái)使用。
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方法
這個(gè)才可以說(shuō)是面象對(duì)象開(kāi)發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁(yè)面引導(dǎo)到另一個(gè)頁(yè)面中,新的頁(yè)面使用前一個(gè)頁(yè)面的應(yīng)答流,所以這個(gè)方法是完全面象對(duì)象的,簡(jiǎn)潔有效。
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/>請(qǐng)求類(lèi)型:" + this.Request.RequestType);
this.Response.Write("<br/>從客戶端讀取POST成功!");
QueryString是一種非常簡(jiǎn)單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個(gè)或多個(gè)安全性要求不高或是結(jié)構(gòu)簡(jiǎn)單的數(shù)值時(shí),可以使用這個(gè)方法。但是對(duì)于傳遞數(shù)組或?qū)ο蟮脑?,就不能用這個(gè)方法了。下面是一個(gè)例子:
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 對(duì)象變量
Application對(duì)象的作用范圍是整個(gè)全局,也就是說(shuō)對(duì)所有用戶都有效。其常用的方法用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變量
想必這個(gè)肯定是大家使用中最常見(jiàn)的用法了,其操作與Application類(lèi)似,作用于用戶個(gè)人,所以,過(guò)量的存儲(chǔ)會(huì)導(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對(duì)象變量
這個(gè)也是大家常使用的方法,與Session一樣,其是什對(duì)每一個(gè)用戶而言的,但是有個(gè)本質(zhì)的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。而且Cookie的使用要配合ASP.NET內(nèi)置對(duì)象Request來(lái)使用。
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方法
這個(gè)才可以說(shuō)是面象對(duì)象開(kāi)發(fā)所使用的方法,其使用Server.Transfer方法把流程從當(dāng)前頁(yè)面引導(dǎo)到另一個(gè)頁(yè)面中,新的頁(yè)面使用前一個(gè)頁(yè)面的應(yīng)答流,所以這個(gè)方法是完全面象對(duì)象的,簡(jiǎn)潔有效。
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/>請(qǐng)求類(lèi)型:" + this.Request.RequestType);
this.Response.Write("<br/>從客戶端讀取POST成功!");
您可能感興趣的文章:
- asp.net傳多個(gè)值到其它頁(yè)面的具體實(shí)現(xiàn)
- ASP.NET實(shí)現(xiàn)頁(yè)面?zhèn)髦档膸追N方法小結(jié)
- asp.net后臺(tái)關(guān)閉當(dāng)前頁(yè)面并傳值的兩種方法
- ASP.NET 頁(yè)面?zhèn)髦党S梅椒偨Y(jié)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼(前后臺(tái))
- ASP.NET頁(yè)面?zhèn)鬟f值的方式介紹
- asp.net 頁(yè)面間傳值與跳轉(zhuǎn)的區(qū)別
- ASP.NET 頁(yè)面之間傳遞值方式優(yōu)缺點(diǎn)比較
- asp.net 頁(yè)面?zhèn)髦档膸讉€(gè)方法
- ASP.Net頁(yè)面間變量值傳遞的方法
相關(guān)文章
jQuery調(diào)用WebService返回JSON數(shù)據(jù)及參數(shù)設(shè)置注意問(wèn)題
.NET Framework 3.5的發(fā)布解決了WebService調(diào)用中json問(wèn)題,本文將介紹jQuery調(diào)用基于.NET Framework 3.5的WebService返回JSON數(shù)據(jù),感興趣的朋友可以了解下,希望本文對(duì)你有所幫助2013-01-01ASP.NET(C#) 定時(shí)執(zhí)行一段代碼
在Global.asax啟動(dòng)一條線程就ok了,下面是啟動(dòng)線程定時(shí)寫(xiě)文件的例子.2009-11-11.net Core連接MongoDB數(shù)據(jù)庫(kù)的步驟詳解
這篇文章主要給大家介紹了關(guān)于.net Core連接MongoDB數(shù)據(jù)庫(kù)步驟的相關(guān)資料,文中將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-02-02asp.net 動(dòng)態(tài)生成控件并獲取其值
代碼比較簡(jiǎn)單,所以不多做解釋了:2009-02-02asp.net 購(gòu)物車(chē)實(shí)現(xiàn)詳細(xì)代碼
asp.net 購(gòu)物車(chē)實(shí)現(xiàn)詳細(xì)代碼2008-11-11IIS中ASP.NET連接SQL Server出錯(cuò)的解決方法
在IIS中運(yùn)行的ASP.NET應(yīng)用程序其所屬用戶名為ASPNET的特定用戶,其默認(rèn)權(quán)限是無(wú)法訪問(wèn)SQL Server的,更不可能訪問(wèn)ASP.NET應(yīng)用程序的數(shù)據(jù)庫(kù)了,因此要在IIS中訪問(wèn)SQL Server就需要給ASPNET帳戶賦予相應(yīng)的權(quán)限.2010-03-03