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

首頁 > 編程 > .NET > 正文

ASP.NET跨頁面傳值技巧總結

2024-07-10 13:08:42
字體:
來源:轉載
供稿:網友

    今天tm群里有人問起關于頁面傳值的方法,又引發了一場討論。看來這個還是有很多人關注的,因此我就我個人觀點做了些總結,希望對大家有所幫助。

  1.  使用querystring變量

  querystring是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對于傳遞數組或對象的話,就不能用這個方法了。下面是一個例子:

  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類似,作用于用戶個人,所以,過量的存儲會導致服務器內存資源的耗盡。

  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一樣,其是什對每一個用戶而言的,但是有個本質的區別,即cookie是存放在客戶端的,而session是存放在服務器端的。而且cookie的使用要配合asp.net內置對象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方法

  這個才可以說是面象對象開發所使用的方法,其使用server.transfer方法把流程從當前頁面引導到另一個頁面中,新的頁面使用前一個頁面的應答流,所以這個方法是完全面象對象的,簡潔有效。

  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;   //實例a窗體
    newweb = (source)context.handler;
    string name;
    name = newweb.name;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屏东市| 夹江县| 扶绥县| 阳山县| 济宁市| 东明县| 徐州市| 凤阳县| 邵东县| 都匀市| 琼海市| 鸡西市| 云南省| 和田市| 蒙阴县| 城市| 调兵山市| 扶风县| 敦化市| 永平县| 杭锦后旗| 茌平县| 溧阳市| 肃宁县| 景德镇市| 神木县| 巢湖市| 鄂伦春自治旗| 温泉县| 正阳县| 鞍山市| 民勤县| 德昌县| 郑州市| 大埔区| 安图县| 酉阳| 车险| 会宁县| 高要市| 荆门市|