熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET 2.0 中跨網頁提交的三種方法[3]

2022-06-13   來源: .NET編程 

  使用PreviousPageType

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

   <asp:Textbox ID=txtUserName Runat=server />
   <asp:Textbox ID=txtPassword Runat=server />
   <asp:Button ID=Submit Runat=server Text=Login
   PostBackUrl=Menuaspx />

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

<%@ PreviousPageType VirtualPath=~/Loginaspx %>
<script runat=server>
protected void Page_Load(object sender SystemEventArgs e)
{
String userName = PreviousPagetxtUserNameText;
String password = PreviousPagetxtPasswordText;
//其他可執行代碼
   }

 
  在上面的代碼中PreviousPageType屬性返回了一個源頁面的強類型引用這樣就消除了類型轉換

  保存視圖狀態

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

if(PreviousPage!=null && PreviousPageIsCrossPagePostBack &&
PreviousPageIsValid)
{
TextBox txtBox = PreviousPageFindControl(txtUserName);
ResponseWrite(txtBoxText);
}

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

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

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15172.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.