隔壁人妻偷人bd中字_特黄特黄一级片_国产午夜大地久久_污色网站在线观看_a天堂资源在线观看_精品日韩久久久_欧美日韩福利在线_欧美日韩一区二区在线免费观看_欧美大尺度做爰床戏_国产情侣av自拍

訂閱本欄目 RSS您所在的位置: 深山工作室 > asp.net > 正文

ASP.NET 2.0跨網頁提交的三法

博客網 2008/4/17 20:13:03 深山行者 字體: 瀏覽 28895

當在一個ASP.NET Web頁面中進行操作時,在默認情況下向當前頁進行提交。這種行為在ASP.NET出現之前并沒有什么關系,但在ASP.NET中當我們想向另外一個 Web頁提交一個Web Form時該如何做呢?在ASP.NET1.0中這個問題變得很難解決,但在ASP.NET2.0中為開發人員提供了更容易的解決的技術:跨網頁提交。這種技術允許一個網頁在提交數據時提交給另外的一個頁面。在跨網頁提交中,用于初始化提交代碼的頁面叫源頁面,而客戶提交的頁面叫目標頁面。

  為了方便起見,目標頁面仍然獲得原頁面提交的所有數據。換名話說,從技術觀點出發,我們可以用同樣的方式處理其他ASP.NET頁面提交的數據。

  這個新特性意味著ASP.NET2.0開發人員目前有三種可供選擇的技術來將數據從一個web頁面傳送到另外一個頁面。這三種方法是:響應重定向,服務端傳輸和新的跨網頁提交特性。我們可以已經熟悉前兩種技術了,因此,我們只是簡要地復習一下它們,然后我們會將主要精力放到學習如何使用跨網頁提交特性,以及闡述一下這種方法和響應重定向以及服務傳輸方式有什么不同。

  一、響應重定向方法

  響應重定向方法是目前為止將一個網頁重定向到另一個網頁的最簡單的方法的最簡單的方法。當Web服務器接到一個重定向請求后,它會將一個響應頭送給客戶端,這將導致客戶端發送一個新的請求到服務器。按句話說,一個重定向請求實際上是兩個請求響應:一個是最初的請求響應,另一個是新的重定向請求響應。

  在ASP.NET中實現重定向很容易。下面的代碼演示了如何使用Response.Redirect方法實現網頁重定向:

   protected void Redirect_Click(object sender, EventArgs e)
  {

  Response.Redirect("menu.aspx");

  }

  要注意的是重定向請求只是一個GET請求,這就意味著我們不能從源頁中通過重定向命令提交數據。但是我們可以在重定向中使用查詢字符串來傳遞數據。如下面代碼所示:

   protected void Redirect_Click(object sender, EventArgs e)
  {

  Response.Redirect("menu.aspx?userName=" + UserName.Text));

  }

  上面的例子將一個查詢字符串作為參數傳遞給了Response.Redirect方法的目標URL。我們可以通過如下的代碼獲得源數據。  

protected void Page_Load(object sender, EventArgs e)
  {

  string userName = Request["userName"];

  }

  二、服務器傳輸方法

  和依賴于客戶端向另一個新頁發請求不同,服務器傳輸是一種服務器重定向技術,這種技術通過簡單的改變Web服務器所處理的代碼來達到請求一個新頁的目的。當被請求頁和源頁面在同一個服務器時,服務器傳輸要比Response.Redirect方法更有效,這是由于這種技術可以避免額外的開銷,僅僅使用服務器的資源就可以進行重定向。要注意的這種技術有一個副作用,在頁面進行重定向時,客戶端的URL仍然會保持源頁面的URL,這可能會使客戶認為他們所獲得的數據是源頁面產生的。當然,在大多數情況下,這不是問題,但是這將使調試變得更困難。

  Server.Transfer方法還可以保存初始頁的HttpContext。因此,目標頁可以訪問源頁面的值。我們可以使用FormsCollection屬性來從目標頁面中獲得源頁面的值。首先,要確定我們使用了被重載的方法,這個方法有兩個參數:目標URL和一個Boolean類型的值,告訴服務器是否保存用于描述源頁面值的 Form。如下面的代碼所示:

   Server.Transfer("Menu.aspx",true);
  然后,我們在目標頁面中獲得一個叫txtUserName的Textbox控件的值的代碼如下:

   object obj = Request.Form["txtUserName"];

  三、Response.Redirect和Server.Transfer的比較

  由于Response.Redirect方法要進行兩次請求響應操作,因此,我們應該在對性能要求高的網站盡量避免使用這種方法。然而,只從技術上說,使用redirect方式確實可以從一個網頁跳到另一個網頁。相比之下,Server.Transfer會更有效率,但是跳轉的范圍僅限于同一個Web服務器的不同網頁。從本質上說,我們可以使用Server.Transfer來消除不必要的請求響應操作。如果我們需要重定位到不同服務器的網頁,就需要使用Response.Redirect方法。

  四、跨頁提交概述

  在ASP.NET 2.0中,我們可以通過實現IbuttonControl接口提交給不同的WebForm,來實現跨網頁的提交。和Response.Redirect類似,跨網頁提交是一個基于客戶端的傳輸機制,但也有點象Server.Transfer,目標網頁也可以訪問源網頁的數據。為了使用跨網頁提交,我們需要在源網頁中的PostBackUrl屬性中指定目標URL。

  五、實現跨網頁提交

  這部分將討論一下如何在 ASP.NET2.0中實現跨網頁提交。為了開始我們的學習,假設有兩個Web頁,一個是源Web頁,另一個是目標Web頁。在源網頁中初始化了使用按鈕進行的跨網頁提交操作。我們首先必須設置目標網頁按鈕的PostBackUrl屬性,順便說一句,所有實現了 System.Web.UI.WebControls.IbuttonControl接口的Web控件都有跨網頁提交的特性。下面的代碼將演示這一過程。

   PostBackUrl="~/target.aspx" text = "Post to a target page"/>
  當我們設置PostBackUrl屬性時,ASP.NET框架將相應的控件綁定到一個新的叫WebForm_DoPostBackWithOptions的JavaScript函數,產生的Html代碼如下:

   onclick="javascript:WebForm_DoPostBackWithOptions(
  new WebForm_PostBackOptions("btnSubmit", "", false, "",

  "Target.aspx", false, false))" id="btnSubmit" />

  對于上面的html代碼來說,當用戶單擊按鈕時,瀏覽器將提交目標URL(Target.aspx),而不是源URL。

六、從目標頁面中獲得源頁面控件的值

  ASP.NET2.0提供了一個叫PreviousPage的新的屬性,這個屬性無論在何時當前頁面進行跨網頁提交操作時都會指向源頁面。要注意的是,當源頁面和目標頁面在不同的應用程序中時,這個屬性包含null(這個null并不是未初始化的意思)。還有要注意的是當目標網頁訪問 PreviousPage屬性時可以獲得源頁面的數據,ASP.NET運行時裝載并執行了源頁面。這將引發ProcessChildRequest事件的發生。而且,它還會引發Page_Init事件、Page_Load和任何其他的源頁面按鈕單擊事件。

  因此,我們要避免由于不小心進行誤操作,所以最好通過IsCrossPostBack屬性來確認是否為一個跨網頁提交發生,如果這個屬性值為true,那么目標網頁就是通過一個跨網頁提交動作而調用的。如果是通過另外一種方式調用的(如一般的請求、Response.Redirect或是一個Server.Transfer),這個屬性的值為false。下面的例子演示了如何使用這個屬性。

   if ( PreviousPage.IsCrossPagePostBack)
  {

  //執行代碼

  }

  這個PreviousPage屬性在Server.Transfer和跨網頁提交中都可以使用。在ASP.NET2.0中,我們可以在調用Server.Transfer操作后使用PreviousPage屬性在目標頁面中來獲得源頁面的數據,代碼如下:

   {
  Server.Transfer("menu.aspx");

  }

  protected void Redirect_Click(object sender, EventArgs e)

  在這個接收面中我們現在可以獲得Web頁面的數據,代碼如下:

   protected void Page_Load(object sender, EventArgs e)
  {

  if (PreviousPage != null)

  {

  TextBox txtBox = (TextBox)

  PreviousPage.FindControl("txtUserName");

  if (textBox != null)

  string userName = textBox.Text;

  //其他可執行的代碼

  }

  }

  要注意的是上面的代碼必須將txtUserName控件轉換為TextBox類型,以便可以訪問其中的值。

七、使用PreviousPageType

  PreviousPageType屬性提供了在跨網頁操作中訪問源頁面的強類型能力,下面讓我們演示一下如何不通過任何類型轉換來從源頁面中獲得控件值。代碼如下:

   < asp:Textbox ID="txtUserName" Runat="server" />   < asp:Textbox ID="txtPassword" Runat="server" />   < asp:Button ID="Submit" Runat="server" Text="Login"   PostBackUrl="Menu.aspx" />

  要注意的是單擊按鈕可以重定向到一個叫“Menu.asp”的目標頁。這個目標頁可以使用如下的代碼獲得用戶名和密碼:

  八、保存視圖狀態

  對于跨網頁提交來說,ASP.NET2.0 內嵌了一個叫__POSTBACK的隱藏字段,這個字段包含了關于源頁面的視圖信息 -- 也就是由源頁面提供了,包含了一個帶有一個非空PostBackUrl屬性值的服務端控件。目標頁可以使用__POSTBACK中的信息來獲得源頁面的視圖狀態信息。代碼如下:

   if(PreviousPage!=null && PreviousPage.IsCrossPagePostBack &&
  PreviousPage.IsValid)

  {

  TextBox txtBox = PreviousPage.FindControl("txtUserName");

  Response.Write(txtBox.Text);

  }

  在上面的代碼中核對了用于確保PreviousPage屬性不為null的檢查代碼。順便提一下,如果目標頁和源頁面不在同一個應用程序中,這個 PreviousPage屬性的值為null。只有在進行跨網頁提交操作時,IsCrossPagePostBack屬性才為true。

  這個跨網頁提交的特性,是ASP.NET2.0中最強有力的特性之一,這種技術將允許在一個頁面中提交到另外一個頁面,并且可以在目標頁面地無縫地操作源頁面中的數據。

相關閱讀
uni-app瀏覽歷史記錄功能實現
uni-app實現上拉加載,下拉刷新(下拉帶動畫)
rs操作數據表記錄集對象的方法
深山留言板母親節效果
漢字轉聲母
SEO工具讓你網站憂化更加隨心所欲
javascript表格內移動上下列,可以做成ajax加上動態程序做成上下移動順序
超級酷的滾動條顏色代碼生成器
共有0條關于《ASP.NET 2.0跨網頁提交的三法》的評論
發表評論
正在加載評論......
返回頂部發表評論
呢 稱:
表 情:
內 容:
評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
驗證碼: 驗證碼 
網友評論聲明,請自覺遵守互聯網相關政策法規。

您發布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發布內容擁有處置權。

更多信息>>欄目類別選擇
百度小程序開發
微信小程序開發
微信公眾號開發
uni-app
asp函數庫
ASP
DIV+CSS
HTML
python
更多>>同類信息
ASP.NET中Cookie編程的基礎知識
ASP.NET 2.0跨網頁提交的三法
ASP.NET 2和IIS 7.0發生不兼容變化
ASP.NET中文亂碼問題的解決。
ASP.Net 2.0中的5個數據控件
根據頁面模板動態生成html頁面
更多>>最新添加文章
dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
抖音直播音掛載小雪花 懂車帝小程序
javascript獲取瀏覽器指紋可以用來做投票
火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
更多>>隨機抽取信息
uni-app全局載入模板與某個頁面單獨加載入模板寫法
深山旅行社網站管理系統 v1.7
如何徹底卸載電腦里你不想用的軟件
html表單里面的label詳細
穿越火線風格-網吧留言本V4.3
asp中利用split,instr組合去除二維數組中重復項
隔壁人妻偷人bd中字_特黄特黄一级片_国产午夜大地久久_污色网站在线观看_a天堂资源在线观看_精品日韩久久久_欧美日韩福利在线_欧美日韩一区二区在线免费观看_欧美大尺度做爰床戏_国产情侣av自拍
一区二区三区在线观看国产| 免费成人在线网站| 国产精品77777| 人人爽人人爽人人片| 日韩欧美一二区| 五月婷婷欧美视频| 欧美xxxxx少妇| 欧美久久一区二区| 亚洲国产日韩a在线播放性色| 91女人视频在线观看| 欧美中文字幕不卡| 一区二区三区四区乱视频| 91同城在线观看| 欧美丝袜丝交足nylons| 亚洲激情第一区| 国产麻豆剧传媒精品国产| 欧美午夜电影网| 亚洲一区二区三区爽爽爽爽爽| 日本xxxx免费| 911精品国产一区二区在线| 五月婷婷综合在线| 9.1成人看片免费版| 久久这里只有精品6| 精品一区二区三区的国产在线播放 | 日韩国产欧美三级| 无遮挡aaaaa大片免费看| 欧美va亚洲va国产综合| 久久99久久99精品免视看婷婷| 免费视频91蜜桃| 国产欧美精品一区二区色综合朱莉| 高清不卡在线观看| 在线亚洲精品福利网址导航| 亚洲国产成人av| 99久久久久久久久久| 久久亚洲二区三区| 成人在线视频首页| 欧美网站大全在线观看| 天天综合日日夜夜精品| 国产精品密蕾丝袜| 国产精品久久久一区麻豆最新章节| 99久久99久久精品免费看蜜桃| 欧美三级在线视频| 日本不卡的三区四区五区| 日本二区在线观看| 一区在线播放视频| 在线观看视频你懂得| 日韩天堂在线观看| 国产不卡高清在线观看视频| 日本高清无吗v一区| 三级久久三级久久久| 日本黄色激情视频| 亚洲精品精品亚洲| 法国伦理少妇愉情| 国产精品福利av| 国产污在线观看| 国产午夜精品一区二区三区四区| 99国产精品视频免费观看| 91麻豆精品国产91久久久久久久久 | 99久久伊人网影院| 欧美一级片在线| 国产综合久久久久影院| 91豆麻精品91久久久久久| 美女一区二区在线观看| 国产av无码专区亚洲av毛网站| 午夜精品久久久久久久久久| 潘金莲一级黄色片| 亚洲chinese男男1069| 国产精品久久久免费看| 亚洲成人一二三| 色欲一区二区三区精品a片| 亚洲国产精品视频| 国产又粗又硬又长又爽| 日本vs亚洲vs韩国一区三区| 一区二区在线观看免费视频| 日本不卡免费在线视频| 91国偷自产一区二区三区观看| 久久er99热精品一区二区| 欧美亚洲一区二区三区四区| 狠狠色丁香婷婷综合| 欧美日韩久久不卡| 成人美女视频在线观看18| 日韩精品专区在线影院重磅| 91一区二区在线观看| 久久久久亚洲蜜桃| 人妻体内射精一区二区三区| 国产精品久久久久永久免费观看 | 国产综合久久久久久鬼色| 51午夜精品国产| 成人avav影音| 久久精品亚洲精品国产欧美kt∨| 在线黄色免费网站| 亚洲欧美一区二区久久| 国产三级黄色片| 日韩精品一级二级| 欧美午夜片在线观看| 成人免费视频免费观看| 精品国产sm最大网站免费看 | 日韩一区在线看| 极品久久久久久久| 欧美bbbbb| 欧美三级在线看| voyeur盗摄精品| 欧美激情一区二区三区不卡| 美女久久久久久久久久| 亚洲一区二区三区不卡国产欧美| 天天天天天天天天操| 激情综合一区二区三区| 欧美电视剧免费全集观看| 久久精品aⅴ无码中文字字幕重口| 日韩美女视频19| 999精品视频在线观看播放| 国产尤物一区二区| 精品国产乱码久久| 中国黄色a级片| 日韩国产一二三区| 欧美一区二区三区免费观看视频| 中文字幕视频观看| 亚洲国产欧美日韩另类综合| 欧美天天综合网| 97久久精品人人爽人人爽蜜臀 | 97se亚洲国产综合自在线不卡| 国产精品网站一区| 欧美色视频一区二区三区在线观看| 经典三级视频一区| 久久亚区不卡日本| 精品手机在线视频| 国产成人精品三级| 国产精品青草久久| 私库av在线播放| 99国产精品久| 亚洲综合一二区| 欧美日韩不卡一区| 少妇一级淫片免费放播放| 婷婷激情综合网| 日韩欧美卡一卡二| b站大片免费直播| 国内精品写真在线观看| 国产丝袜美腿一区二区三区| 国内毛片毛片毛片毛片毛片| 成人免费的视频| 一区二区日韩av| 欧美精品aⅴ在线视频| 成人免费无码大片a毛片| 青青青爽久久午夜综合久久午夜| 欧美电影免费观看完整版| 久久视频精品在线观看| 成人免费视频免费观看| 亚洲黄色尤物视频| 91麻豆精品国产91久久久资源速度| 国产三级视频网站| 国产真实乱偷精品视频免| 国产精品日产欧美久久久久| 色综合久久久久综合| 伊人影院在线观看视频| 日韩和欧美一区二区| 久久影视一区二区| 九九热最新地址| 肉丝美足丝袜一区二区三区四| 日韩成人精品在线| 久久天天做天天爱综合色| 神马午夜精品91| 国产大学生av| 久久国产精品免费| 中文字幕中文字幕一区二区 | 欧美性生活一区| 三级黄色片网站| 国产九色sp调教91| 亚洲激情欧美激情| 精品国产一区二区在线观看| 黄色录像二级片| 麻豆短视频在线观看| 狠狠久久亚洲欧美| 亚洲男女毛片无遮挡| 日韩欧美成人激情| 日本福利片在线观看| 国产a级黄色片| 国产麻豆成人精品| 亚洲中国最大av网站| 26uuu欧美| 在线精品视频小说1| 99久久国产精| 成人av在线观| 亚洲va欧美va人人爽| 国产欧美1区2区3区| 欧美精品 国产精品| 蜜桃av.com| 亚洲调教欧美在线| 成人黄色小视频| 美女视频黄久久| 亚洲精品国产无天堂网2021| 精品成人一区二区三区四区| 在线免费观看不卡av| 国产又粗又猛又爽又黄av| 91啪九色porn原创视频在线观看| 激情文学综合网| 亚洲二区在线视频| 国产精品国产三级国产a | 911精品国产一区二区在线| 精品在线观看一区| 韩国无码一区二区三区精品|