ASP.NET-页面间的数据传递

暑假期间做项目时遇到相关问题,总结如下,与大家分享

 

1.通过查询字符串传递

这种方式是将参数附加在网址的后面,传递数据简单,但容易暴露,一般用于传递一些简单的数据。

例如,在Default1.aspx上的单击事件如下:

protected void Button1_Click(object sendar,EventAgrs e)

{

         Request.Redirect(“Default2.aspx?id=3”);

}

在Defaul2.aspx可以按如下方式获得数据。

string id=Request.QueryString[“id”];//获得参数值

2.通过POST方式

这种方式采用表单提交数据。

例如,在Default1.aspx包含如下代码:

<form id=”form1” runat=”server”>

         <div>

                   <asp:TextBox ID=”username” runat=”server”></asp:TextBox>

                   <asp:Button ID=”Button1” runat=”server” Text=”Button”>

</div>

</form>

在Default2.aspx中可以按如下方式获得数据。

string username=Request.Form[“username”];//获得表单域的

3.通过Session

这种方式一般是传递会话级共享数据。

例如,在Default1.aspx上的按钮单击事件如下:

protected void Button1——Click(object sendar,EventArgs e)

{

         Session[“username”]=”honge”;

Request.Redirect(“Default2.aspx”);

}

在Default2.aspx中可以按如下方式获得数据。

string username=(string) Session[“username”];//获得Session中的数据

4.通过Application

这种方式一般是传递应用级共享数据。

例如,在Default1.aspx上的按钮单击事件如下:

protected void Button1——Click(object sendar,EventArgs e)

{

         Application[“uername”]=”honge”;

         Request.Redirection(“Default2.aspx”);

}

在Default2.aspx中可以按如下方式获得数据。

string username =Application[“username”];//获得Application中的数据

5.通过PervoiusPage

如果两个ASP.NET网页属于同一个应用程序,当源网页中利用Server.Transfer()或者按钮控件的PostBackUrl属性切换到目标网页时,目标网页可以使用PerviousPage属性来获取源网页中的公共属性或控件值。

如果要获取源网页中的公共属性,需要在目标网页的页面代码中添加如下代码:

<%@PervoiusPageType VirtualPath=”~/SourcePage.aspx”%>

如果仅仅获取源网页中的控件值,则不需要添加这行代码。

例如,在Dfault1.aspx.cs包含如下代码:
public string Name

{

get {return “honge”;}

}

protected void Button_Click(object sendar,EventArgs e)

{

         Server.Transfer(“Default2.aspx”);

}

在Default2.aspx页面中如果增加了如下代码:

<%@PerviousPageType VirtualPath=”~/Default1.aspx”%>

那么,在Default2.aspx中就可按如下方式获得数据:

string name=PerviousPage.Name;

posted @ 2015-09-20 14:59  CherishYou  阅读(628)  评论(1编辑  收藏  举报