页面中传递数据的几种方法

来源:互联网 发布:网站域名买卖诈骗 编辑:程序博客网 时间:2024/06/06 17:12

 

页面中传递数据的三种方法:cookiessessionapplication

还有一种把当前页面中的数据直接传递给另一个页面:

页面1aspx

<%@Page Language="C#"AutoEventWireup="true"CodeBehind="page1.aspx.cs"Inherits="跨页面传递.page1"%>

 

<!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<htmlxmlns="http://www.w3.org/1999/xhtml">

<headrunat="server">

    <title></title>

</head>

<body>

    <formid="form1" runat="server">

    <div>

        <asp:TextBoxID="TextBox1" runat="server"></asp:TextBox>

        <br/>

        <asp:ButtonID="Button1" runat="server" Text="提交到页面"

            PostBackUrl="~/page2.aspx"onclick="Button1_Click"/>

    </div>

    </form>

</body>

</html>

Page1.aspx.cs代码加入如下属性:

public string username

        {

            get { return this.TextBox1.Text; }

        }

 

Page2.aspx.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

namespace 跨页面传递

{

    public partial class page2 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (this.PreviousPage !=null)

            {

                this.Response.Write(PreviousPage.username);

               

            }

        }

    }

}

Page2.aspx:头部代码修改

<%@Page Language="C#"AutoEventWireup="true"CodeBehind="page2.aspx.cs"Inherits="跨页面传递.page2"%>

<%@PreviousPageType VirtualPath="~/page1.aspx"%>

“这个代码是指定处理页为page1

上述代码原理是通过页面1的按钮把数据传递给页面2,按钮代码中设置了postbackurl属性:PostBackUrl="~/page2.aspx"onclick="Button1_Click"

这表示处理页是page2

而在page2aspx.cs中,通过PreviousPage.username得到页面1传过来的username属性。从而输出。

还有一种方法,这种方法直接通过查找页面1中的控件名称而得到控件的属性值:

Page1.aspx以及page1.aspx.cs都不变page2.aspx中去掉<%@PreviousPageType VirtualPath="~/page1.aspx"%>apsx.cs中把原来的代码删除,改写为

TextBox mytextbox = PreviousPage.FindControl("TextBox1") as TextBox;

                Response.Write(mytextbox.Text);

as TextBox转换比通过用(TextBox)强制类型转换好。因为强制类型转换会出错。传递给页面2的控件如果不是textboxtextbox1就会出错

原创粉丝点击