国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.Net中幾種常見的頁面跳轉傳值方法

2019-11-14 16:03:06
字體:
來源:轉載
供稿:網友

1、asp Server對象Execute方法

ASP Server對象的Execute方法可以在執行當前頁面的過程中將另一個頁面執行結果的內容插入到當前頁面的輸出中。Execute方法帶一個參數,是個字符串,指定要執行的ASP文件的位置。如果提供了絕對路徑,這個路徑則必須位于同一個應用程序空間中。Execute方法提供了一種服務器端包含的替代方法,并且允許使用者開發自己的可重用模塊集合,作為簡單的腳本頁。傳遞給主調ASP頁面的參數從被執行頁中可以得到。被執行頁產生的所有輸出都被添加到主調頁產生的輸出中。

提示

Server.Execute(path)適合于將一個完整的頁面調入到當前頁面,被調入的頁面本身也可以是一個完整的ASP頁面。但是,它的缺點在于:當前頁面定義的過程、函數或者變量在目標頁面中不能使用。如果要傳遞參數,可以將參數保存到session對象中。

語法

Server.Execute(path)
示例
WebForm1.aspx:

Response.Write("Label1.Text");

 Server.Execute("WebForm2.aspx");

WebForm2.aspx:

Response.Write("Label1.Text");

2使用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"];
}
運行,即可看到傳遞后的結果了。

3、使用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");
}
運行,即可看到傳遞后的結果了。

4、使用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;

}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长泰县| 和政县| 庆元县| 郓城县| 镇赉县| 沙河市| 聂荣县| 武胜县| 巨鹿县| 齐齐哈尔市| 静乐县| 江安县| 南开区| 达日县| 盐池县| 清涧县| 洛宁县| 龙井市| 南涧| 南丹县| 秀山| 祁连县| 德保县| 和顺县| 资溪县| 沈阳市| 昭平县| 南澳县| 黄平县| 高雄县| 牡丹江市| 盱眙县| 老河口市| 台州市| 革吉县| 宜阳县| 仪陇县| 常州市| 新泰市| 贵州省| 淳化县|