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;

上一篇:fake-useragent,python爬虫伪装请求头


下一篇:5.用JQuery实现选中select里面的option显示对应的div