日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁編程開發(fā)ASP.NET → Asp.net頁面幾種傳值的方法分享

      Asp.net頁面幾種傳值的方法分享

      相關軟件相關文章發(fā)表評論 來源:西西整理時間:2013/1/28 17:54:00字體大。A-A+

      作者:西西點擊:0次評論:0次標簽: 傳值

      • 類型:磁盤工具大。18.8M語言:中文 評分:5.0
      • 標簽:
      立即下載

      1、利用網(wǎng)頁Cookie傳值

      下面為起始頁Defaut1.aspx.cs部分代碼:

      protected void Button1_Click1(object sender, EventArgs e)
      {
             HttpCookie cookie_name = new HttpCookie("myname");
             cookie_name.Value = this.TextBox1.Text;
             Response.AppendCookie(cookie_name);
             //Server.Transfer("ShowerInfo.aspx");
          Response.Redirect("ShowerInfo.aspx");
      }

      下面接受傳值頁面ShowerInfo.aspx.cs代碼:

      protected void Page_Load(object sender, EventArgs e)
      {
              this.Label1.Text = Request.Cookies["myname"].Value.ToString();
      }

      2、利用@ PreviousPageType指令和實體類實現(xiàn)頁面?zhèn)髦?/strong>

      PreviousPageType指令是ASP.NET 2.0跨頁面回送機制的一部分,允許指定來源頁面的虛擬路徑,以便強類型訪問來源頁面。正常情況下,發(fā)送的數(shù)據(jù)可通過PreviousPage屬性和FindControl方法訪問,但使用強類型的PreviousPageType指令允許訪問源頁面上的公共屬性,而不需要調用FindControl方法。
           如有下面一簡單userInfo類: 

      public class UserInfo
      {
          public UserInfo()
          {
              //
              //TODO: 在此處添加構造函數(shù)邏輯
              //
          }
            
              private TextBox textName;
              public TextBox TextName
              {
                  get
                  {
                      return textName;
                  }
      
                  set
                  {
                      textName = value;
                  }
              }
      
              private TextBox textPwd;
              public TextBox TextPwd
              {
                  get
                  {
                      return textPwd;
                  }
      
                  set
                  {
                      textPwd = value;
                  }
              }
      
              private TextBox textEmail;
              public TextBox TextEmail
              {
                  get
                  {
                      return textEmail;
                  }
      
                  set
                  {
                      textEmail = value;
                  }
              }
      }

      起始頁面Default1.aspx文件代碼:

      <html xmlns="http://www.w3.org/1999/xhtml">
      <head runat="server">
          <title>無標題頁</title>
      </head>
      <body>
          <form id="form1" runat="server">
          <div>
            
              <asp:TextBox ID="TextName" runat="server"></asp:TextBox>
              <asp:TextBox ID="TextPwd" runat="server"></asp:TextBox>
              <asp:TextBox ID="TextEmail" runat="server"></asp:TextBox>
              <asp:Button ID="Submit" runat="server" onclick="Submit_Click" Text="傳值" />
              <br />
          
          </div>
          </form>
      </body>
      </html>

      起始頁面Default1.aspx.cs代碼:

      public partial class Default1 : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
      
      
          }
         
          public UserInfo myInfo    //為頁面添加一UserInfo類型的屬性。從而實現(xiàn)傳遞復雜數(shù)據(jù)。
          {
              get
              {
                  UserInfo info = new UserInfo();
                  info.TextName = TextName;
                  info.TextPwd = TextPwd;
                  info.TextEmail = TextEmail;
                  return info;
              }
          }
      
          protected void Submit_Click(object sender, EventArgs e)
          {
              this.Submit.PostBackUrl = "~/ShowerInfo.aspx";
      
              //上面的跳轉語句不可以用如:Response.Redirect(“ShowerInfo.aspx”)來替換,否則會出現(xiàn):“未將對象引用設置到對象的實例!卞e誤。
          }
      }


      下面為接受頁面ShowerInfo.aspx部分代碼

      <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %>
      
        <%@ PreviousPageType VirtualPath="~/Default1.aspx" %>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head runat="server">
          <title>無標題頁</title>
      </head>
      <body>
          <form id="form1" runat="server">
          <div>
          
              <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
              <br />
              <br />
              <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
              <br />
              <br />
              <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
          
          </div>
          </form>
      </body>
      </html>

      上面一行被標注為紅色的代碼不可少:<%@ PreviousPageType VirtualPath="~/Default1.aspx" %> ,從而可以使得接受頁面ShowerInfo.aspx.cs中可以利用
      UserInfo mInfo = PreviousPage.myInfo 語句獲取上一頁面Default1.aspx設置的公共屬性myInfo的值。

      下面為接受頁面ShowerInfo.aspx.cs部分代碼:

      public partial class ShowerInfo : System.Web.UI.Page
      {
          protected void Page_Load(object sender, EventArgs e)
          {
              UserInfo mInfo = PreviousPage.myInfo;
              Label1.Text = mInfo.TextName.Text;
              Label2.Text = mInfo.TextPwd.Text;
              Label3.Text = mInfo.TextEmail.Text;
      
          }
      }

      3、利用Server.Transfer( )和Context.Handler實現(xiàn)頁面?zhèn)髦?br />   起始頁面Default1.aspx.cs代碼:

      public partial class Default1 : System.Web.UI.Page
      {
          private string name;
          private string pwd;
      
          public String Name
          {
              get
              {
                  return this.TextBox1.Text;
              }
      
          }
      
          public string Pwd
          {
              get
              {
                  return this.TextBox2.Text;
              }
          }
      
          protected void Page_Load(object sender, EventArgs e)
          {
      
      
          }
             
          protected void Button1_Click1(object sender, EventArgs e)
          {
              Server.Transfer("ResutlPage.aspx");
              
          }
      }

      上面代碼中只能使用Server.Transfer()方法實現(xiàn)頁面的跳轉。Web 窗體頁是應用程序中的類,因此可以向處理任何類一樣為它們創(chuàng)建屬性。Server.Transfer只能夠轉跳到本地虛擬目錄指定的頁面,并且跳到目標頁面后,瀏覽器顯示的地址并不會改變(這種特性有時可能是有益處的!),這樣就在極其有限的頁面生存周期內(nèi),通過特別技術:Context.Handler讓目標頁面能讀取源頁面的屬性值。

      接受傳值頁面ResutlPage.aspx.cs代碼:

      protected void Page_Load(object sender, EventArgs e)
      {
             
              if (!IsPostBack)
              { 
                  
                  Default1  myver;
                  myver = (Default1) Context.Handler;
                  this.Label1.Text=myver.Name;
                  this.Label2.Text = myver.Pwd;
              }
      }

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
        推薦文章

        沒有數(shù)據(jù)

        最新文章
          沒有數(shù)據(jù)