暑假期间做项目时遇到相关问题,总结如下,与大家分享
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;