<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET實現頁面傳值的幾種方法小結

        來源:懂視網 責編:小采 時間:2020-11-27 22:40:26
        文檔

        ASP.NET實現頁面傳值的幾種方法小結

        ASP.NET實現頁面傳值的幾種方法小結:這三種方法是:QueryString,Session和Server.Transfer。 通過URL鏈接地址傳遞 send.aspx: 代碼如下: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect(Default2.aspxuse
        推薦度:
        導讀ASP.NET實現頁面傳值的幾種方法小結:這三種方法是:QueryString,Session和Server.Transfer。 通過URL鏈接地址傳遞 send.aspx: 代碼如下: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect(Default2.aspxuse

        這三種方法是:QueryString,Session和Server.Transfer。

         通過URL鏈接地址傳遞  send.aspx:
          代碼如下:
          protected void Button1_Click(object sender, EventArgs e)
            {
                Request.Redirect("Default2.aspx?username=honge");
            }

        receive.aspx:
        代碼如下:
        string username = Request.QueryString["username"];//這樣可以得到參數值。

        第二種方法:
        通過post方式。  send.aspx
        receive.aspx
        代碼如下:
        string username = Ruquest.Form["receive"];

        第三種方法:
        通過session  send.aspx:
        代碼如下:
          protected void Button1_Click(object sender, EventArgs e)
            {
                Session["username"] = "honge";
                Request.Redirect("Default2.aspx");
            }

        receive.aspx:
        代碼如下:
        string username = Session["username"];//這樣可以得到參數值。

        第四種方法:
        通過Application  send.aspx:
        代碼如下:
          protected void Button1_Click(object sender, EventArgs e)
            {
                Application["username"] = "honge";
                Request.Redirect("Default2.aspx");
            }

        receive.aspx:
        代碼如下:
        string username = Application["username"];//這樣可以得到參數值。

        第五種方法:
        通過Server.Transfer  send.aspx:
        代碼如下:
          public string Name
            {
                get {
                    return "honge";
                }
            }
            protected void Button1_Click(object sender, EventArgs e)
            {
                Server.Transfer("Default2.aspx");
            }

        receive.aspx:
        代碼如下:
          send d = Context.Handler as send ;
                if (d != null)
                {
                    Response.Write(d.Name);這樣可以得到參數值。
         }

            如果在asp.net 2.0中還可以這樣用:通過PreviousPage
        代碼如下:
            PreviousPage d = Context.Handler as PreviousPage ;
            if (d != null)
            { Response.Write(d.Name);//這樣可以得到參數值。
            }

            也可以這樣用:  send.aspx:
        receive.aspx:
        string name = PreviousPage.Name;這樣可以得到參數值。


            如果你的頁面中用到了MasterPage的話 Server.Transfer 傳遞的 PreviousPage就無效了,不知道這是什么原因。所以在用到MasterPage的話,最好用Session或是Context.Items["username"]來實現。
        使用QueryString
            使用QuerySting在頁面間傳遞值已經是一種很老的機制了,這種方法的主要優點是實現起來非常簡單,然而它的缺點是傳遞的值是會顯示在瀏覽器的地址欄上的(不安全),同時又不能傳遞對象,但是在傳遞的值少而安全性要求不高的情況下,這個方法還是一個不錯的方案。使用這種方法的步驟如下:
            ◆使用控件創建web表單(form)
            ◆創建可以返回表單的按鈕和鏈接按鈕
            ◆在按鈕或鏈接按鈕的單擊事件里創建一個保存URL的字符變量
            ◆在保存的URL里添加QueryString參數
            ◆使用Response.Redirect重定向到上面保存的URL
            下面的代碼片斷演示了如何實現這個方法:
            源頁面代碼: 
        代碼如下:
        private void Button1_Click

        (object sender, System.EventArgs e)
        {
        string url;
        url="anotherwebform.aspx?name=" + TextBox1.Text + "&email=" + TextBox2.Text;
        Response.Redirect(url);
        }

        目標頁面代碼
        代碼如下:
        private void Page_Load
        (object sender, System.EventArgs e)
        {
        Label1.Text=Request.QueryString["name"];
        Label2.Text=Request.QueryString["email"];
        }

            使用Session變量
            使用Session變量是可以在頁面間傳遞值的的另一種方式,在本例中我們把控件中的值存在Session變量中,然后在另一個頁面中使用它,以不同頁面間實現值傳遞的目的。但是,需要注意的是在Session變量存儲過多的數據會消耗比較多的服務器資源,在使用session時應該慎重,當然了,我們也應該使用一些清理動作來去除一些不需要的session來降低資源的無謂消耗。使用Session變量傳遞值的一般步驟如下:
            ◆在頁面里添加必要的控件
            ◆創建可以返回表單的按鈕和鏈接按鈕
            ◆在按鈕或鏈接按鈕的單擊事件里,把控件的值添加到session變量里
            ◆使用Response.Redirect方法重定向到另一個頁面
            ◆在另一個頁面提取session的值,在確定不需要使用該session時,要顯式清除它
            下面的代碼片斷演示了如何實現這個方法:
            源頁面代碼:
        代碼如下:   
        private void Button1_Click
        (object sender, System.EventArgs e)
        {
        [url=file://textbox1]file://textbox1[/url] and textbox2 are webform
        [url=file://controls]file://controls[/url]
        Session["name"]=TextBox1.Text;
        Session["email"]=TextBox2.Text;
        Server.Transfer("anotherwebform.aspx");
        }

        目標頁面代碼: 
        代碼如下:
        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");
        }

            使用Server.Transfer這個方法相比上面介紹的方法稍微復雜一點,但在頁面間值傳遞中卻是特別有用的,使用該方法你可以在另一個頁面以對象屬性的方式來存取顯露的值,當然了,使用這種方法,你需要額外寫一些代碼以創建一些屬性以便可以在另一個頁面訪問它,但是,這個方式帶來的好處也是顯而易見的。總體來說,使用這種方法是簡潔的同時又是面向對象的。使用這種方法的整個過程如下:
            ◆在頁面里添加必要的控件
            ◆創建返回值的Get屬性過程
            ◆創建可以返回表單的按鈕和鏈接按鈕
            ◆在按鈕單擊事件處理程序中調用Server.Transfer方法轉移到指定的頁面
            ◆在第二個頁面中,我們就可以使用Context.Handler屬性來獲得前一個頁面實例對象的引用,通過它,就可以使用存取前一個頁面的控件的值了
            以下代碼綜合實現上述步驟過程的代碼:
            源頁面代碼:
            把以下的代碼添加到頁面中 
        代碼如下:
        public string Name
        {
        get
        {
        return TextBox1.Text;
        }
        }
        public string EMail
        {
        get
        {
        return TextBox2.Text;
        }
        }

        然后調用Server.Transfer方法
        代碼如下:
        private void Button1_Click
        (object sender, System.EventArgs e)
        {
        Server.Transfer("anotherwebform.aspx");
        }

        目標頁面代碼:
        代碼如下:
        private void Page_Load
        (object sender, System.EventArgs e)
        {
        [url=file://create]file://create[/url] instance of source web form
        WebForm1 wf1;
        [url=file://get]file://get[/url] reference to current handler instance
        wf1=(WebForm1)Context.Handler;
        Label1.Text=wf1.Name;
        Label2.Text=wf1.EMail;
        }

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET實現頁面傳值的幾種方法小結

        ASP.NET實現頁面傳值的幾種方法小結:這三種方法是:QueryString,Session和Server.Transfer。 通過URL鏈接地址傳遞 send.aspx: 代碼如下: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect(Default2.aspxuse
        推薦度:
        標簽: 辦法 頁面 種方法
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 免费大片黄在线观看yw| 少妇性饥渴无码A区免费 | 亚洲国产精品久久久久秋霞小 | 日韩成人免费aa在线看| 亚洲人成小说网站色| 国语成本人片免费av无码| 亚洲已满18点击进入在线观看| 四虎永久在线观看免费网站网址| 亚洲国产成人久久三区| 啦啦啦高清视频在线观看免费| 亚洲人成77777在线观看网| 免费看大黄高清网站视频在线| 亚洲精品无码aⅴ中文字幕蜜桃| 处破痛哭A√18成年片免费| 亚洲AV成人片无码网站| 在线a亚洲v天堂网2018| 国产精品免费久久久久久久久| 亚洲女久久久噜噜噜熟女| 免费看少妇高潮成人片| 亚洲美女视频免费| 成人人观看的免费毛片| 美女免费视频一区二区三区| 亚洲免费日韩无码系列| 久久久久久久久久国产精品免费| 亚洲国产成+人+综合| 啦啦啦在线免费视频| caoporn国产精品免费| 亚洲AV第一页国产精品| 毛片免费全部播放一级| 一级特级aaaa毛片免费观看| 亚洲成av人影院| 无码少妇一区二区浪潮免费| 免费无码国产V片在线观看| 亚洲AV综合色区无码一区爱AV| 99在线精品视频观看免费| 亚洲AV无码一区二区三区电影 | 国产小视频在线免费| 国产一级a毛一级a看免费视频 | 国产精品国产亚洲区艳妇糸列短篇| 国产精品亚洲精品日韩已方| 日韩午夜理论免费TV影院|