頁面間傳值的五種方法

一隔心、QueryString傳值:

** 這是最簡單的傳值方式椅贱,但缺點(diǎn)是傳的值會(huì)顯示在瀏覽器的地址欄中且不能傳遞對象怀跛,只適用于傳遞簡單的且安全性要求不高的整數(shù)值萍丐,例如:**

  1. 新建一個(gè)WEB項(xiàng)目,添加一個(gè)頁面命名為Test1党涕,在頁面中添加一個(gè)Button命名為btnLogin烦感,再添加兩個(gè)TextBox分別命名為txtUserName和txtPassWord,添加Button的Click()事件:
 private void btnLogin_Click(object sender, System.EventArgse){
        string url = " Test1.aspx?UserName="+ txtUserName.Text + "&Password="+txtPassWord.Text+"";
        Response.Redirect(url);
    }
  1. 添加另一個(gè)頁面命名為Test2膛堤,在頁面添加兩個(gè)Lable分別命名為lblUserName和lblPassWord手趣,添加頁面的Load()事件:
private void Page_Load (object sender, System.EventArgs e){
       lblUserName.Text=Request.QueryString["UserName"];
       lblPassWord.Text=Request.QueryString["Password"];
   }
  1. 把Test1設(shè)為起始頁,運(yùn)行項(xiàng)目在Test1頁面的文本框中輸入值后點(diǎn)擊按鈕肥荔,就可以在Test2頁面中顯Test1頁面輸入的結(jié)果绿渣。

二、Server.Transfer傳值:

這種方式避免了要傳遞的值顯示在瀏覽器的地址欄中燕耿,但是比較麻煩中符,例如:

  1. 新建一個(gè)WEB項(xiàng)目,添加兩個(gè)頁面分別命名為Test1和Test2誉帅,在Test1頁面中添加一個(gè)Button命名為btnLogin淀散,再添加兩個(gè)TextBox分別命名為txtUserName和txtPassWord右莱,在Test2頁面添加兩個(gè)Lable分別命名為lblUserName和lblPassWord,為Test1添加過程返回txtUserName和txtPassWord的值并添加btnLogin的Click()事件:
var   define   =   "{name: 'Michael ',email: '17bity@gmail.com '} ";
    var   data   =   eval( '( '   +   define   +   ') ');

    alert(data.name);
    
    public string UserName{
        get{
            return txtUserName.Text;
        }
    }

    public string Password{
        get{
            return txtPassWord.Text;
        }
    }

    private void btnLogin_Click (object sender, System.EventArgs e){
        Server.Transfer("Test2.aspx");
    }
  1. 添加Test2頁面的Load()事件:
private void Page_Load (object sender, System.EventArgs e){
        Test1 t1; //創(chuàng)建原始窗體的實(shí)例
        t1=( Test1)Context.Handler; //獲得實(shí)例化的句柄
        lblUserName.Text= t1.UserName;
        lblPassWord.Text= t1.Password;
    }
  1. 把Test1設(shè)為起始頁档插,運(yùn)行項(xiàng)目在Test1頁面的文本框中輸入值后點(diǎn)擊按鈕慢蜓,就可以在Test2頁面中顯Test1頁面輸入的結(jié)果。

三郭膛、Cookie對象變量:

** Cookie是針對每一個(gè)用戶而言的晨抡,是存放在客戶端的 ,Cookie的使用要配合ASP.NET內(nèi)置對象Request來使用则剃,例如:**

  1. 新建一個(gè)WEB項(xiàng)目耘柱,添加兩個(gè)頁面分別命名為Test1和Test2,在Test1頁面中添加一個(gè)Button命名為btnLogin忍级,再添加兩個(gè)TextBox分別命名為txtUserName和txtPassWord,在Test2頁面添加兩個(gè)Lable分別命名為lblUserName和lblPassWord伪朽,為Test1添加Button的Click()事件:
   private void btnLogin_Click (object sender, System.EventArgs e){
       HttpCo okie cookie_UserName = new HttpCookie("UserName");
       HttpCookie cookie_PassWord = new HttpCookie("PassWord ");
       cookie_ UserName.Value = txtUserName.Text;
       cookie_ PassWord.Value = txtPassWord.Text;
       Response.AppendCookie(cookie_ UserName);
       Response.AppendCookie(cookie_ PassWord);
       Server.Transfer("Test2.aspx");
   }
  1. 添加Test2頁面的Load()事件:
 private void Page_Load (object sender, System.EventArgs e){
        lblUserName.Text = Request.Cookies["UserName"].Value.ToString();
        lblPassWord.Text = Request.Cookies["PassWord "].Value.ToString();
    }
  1. 把Test1設(shè)為起始頁轴咱,運(yùn)行項(xiàng)目在Test1頁面的文本框中輸入值后點(diǎn)擊按鈕,就可以在Test2頁面中顯Test1頁面輸入的結(jié)果烈涮。

四朴肺、Session對象變量:

** Session也是針對每一個(gè)用戶而言的,是存放在服務(wù)器端的 坚洽,Session不僅可以把值傳遞到下一個(gè)頁面戈稿,還可以交叉?zhèn)鬟f到多個(gè)頁面,直至把Session變量的值removed 后讶舰,變量才會(huì)消失鞍盗,例如:**

  1. 新建一個(gè)WEB項(xiàng)目,添加兩個(gè)頁面分別命名為Test1和Test2跳昼,在Test1頁面中添加一個(gè)Button命名為btnLogin般甲,再添加兩個(gè)TextBox分別命名為txtUserName和txtPassWord,在Test2頁面添加兩個(gè)Lable分別命名為lblUserName和lblPassWord鹅颊,為Test1添加Button的Click()事件:
    private void btnLogin_Click (object sender, System.EventArgs e){
        Session["UserName"]=txtUserName.Text;
        Session["PassWord"]=txtPassWord.Text;
        Response.Redirect("Test2.aspx");
    }
  1. 添加Test2頁面的Load()事件:
    private void Page_Load (object sender, System.EventArgs e){
        lblUserName.Text=Session["UserName"].ToString();
        lblPassWord.Text=Session["Password"].ToString();
        Session.Remove("UserName"); //清除Session
        Session.Remove("PassWord"); //清除Session
    }
  1. 把Test1設(shè)為起始頁敷存,運(yùn)行項(xiàng)目在Test1頁面的文本框中輸入值后點(diǎn)擊按鈕,就可以在Test2頁面中顯Test1頁面輸入的結(jié)果堪伍。

五锚烦、Application對象變量:

Application對象的作用范圍是整個(gè)全局,也就是說對所有用戶都有效帝雇。其常用的方法用Lock和UnLock涮俄,例如:

  1. 新建一個(gè)WEB項(xiàng)目,添加兩個(gè)頁面分別命名為Test1和Test2尸闸,在Test1頁面中添加一個(gè)Button命名為btnLogin禽拔,再添加兩個(gè)TextBox分別命名為txtUserName和txtPassWord刘离,在Test2頁面添加兩個(gè)Lable分別命名為lblUserName和lblPassWord,為Test1添加Button的Click()事件:
    private void btnLogin_Click (object sender, System.EventArgs e){
        Application["UserName"] = txtUserName.Text;
        Application["PassWord "] = txtPassWord.Text;
        Server.Transfer("Test2.aspx");
    }
  1. 添加Test2頁面的Load()事件:
    private void Page_Load (object sender, System.EventArgs e){
        Application.Lock();
        lblUserName. Text = Application["UserName"].ToString();
        lblPassWord. Text = Application["PassWord "].ToString();
        Application.UnLock();
    }
  1. 把Test1設(shè)為起始頁睹栖,運(yùn)行項(xiàng)目在Test1頁面的文本框中輸入值后點(diǎn)擊按鈕硫惕,就可以在Test2頁面中顯Test1頁面輸入的結(jié)果。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末野来,一起剝皮案震驚了整個(gè)濱河市恼除,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌曼氛,老刑警劉巖豁辉,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異舀患,居然都是意外死亡徽级,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門聊浅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來餐抢,“玉大人,你說我怎么就攤上這事低匙】鹾郏” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵顽冶,是天一觀的道長欺抗。 經(jīng)常有香客問我,道長强重,這世上最難降的妖魔是什么绞呈? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮间景,結(jié)果婚禮上报强,老公的妹妹穿的比我還像新娘。我一直安慰自己拱燃,他們只是感情好秉溉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碗誉,像睡著了一般召嘶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哮缺,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天弄跌,我揣著相機(jī)與錄音,去河邊找鬼尝苇。 笑死铛只,一個(gè)胖子當(dāng)著我的面吹牛埠胖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淳玩,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼直撤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蜕着?” 一聲冷哼從身側(cè)響起谋竖,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎承匣,沒想到半個(gè)月后蓖乘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡韧骗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年嘉抒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袍暴。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡些侍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出容诬,到底是詐尸還是另有隱情娩梨,我是刑警寧澤沿腰,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布览徒,位于F島的核電站,受9級(jí)特大地震影響颂龙,放射性物質(zhì)發(fā)生泄漏习蓬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一措嵌、第九天 我趴在偏房一處隱蔽的房頂上張望躲叼。 院中可真熱鬧,春花似錦企巢、人聲如沸枫慷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽或听。三九已至,卻和暖如春笋婿,著一層夾襖步出監(jiān)牢的瞬間誉裆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工缸濒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留足丢,地道東北人粱腻。 一個(gè)月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像斩跌,于是被迫代替她去往敵國和親绍些。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • Ba la la la ~ 讀者朋友滔驶,你們好啊遇革,又到了冷鋒時(shí)間,話不多說揭糕,發(fā)車萝快! 一、QueryStri...
    王飽飽閱讀 950評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理著角,服務(wù)發(fā)現(xiàn)揪漩,斷路器,智...
    卡卡羅2017閱讀 134,638評論 18 139
  • 轉(zhuǎn)載自:.net 頁面?zhèn)鲄⒎绞娇偨Y(jié) ASP.NET為我們提供了三種方式吏口,一種是可以通過用QueryString來傳...
    BigbyLong閱讀 274評論 0 1
  • Session的聲明與使用 Session的設(shè)置不同于Cookie奄容,必須先啟動(dòng),在PHP中必須調(diào)用session_...
    尋回驕傲閱讀 2,944評論 0 18
  • “秋風(fēng)清产徊,秋月明昂勒,落葉聚還散,寒鴉棲復(fù)驚舟铜「暧” 今日秋分,晝夜將半谆刨,氣候轉(zhuǎn)涼塘娶。 茂盛了整個(gè)夏日的綠色世界,也將漸漸換...
    易小點(diǎn)閱讀 606評論 0 0