设置方法是:将该控件的 属性设置为 ASP.NET 网页要发送到的页的 URL。
例如:<asp:Button ID="Button1" PostBackUrl="~/TargetPage.aspx" runat="server" Text="Submit" />
由于跨页发送是针对各个控件配置的,所以您可以创建一个可根据用户单击哪个按钮而发送至不同页的页。
要判断某个页面是否为跨页发送,可以通过属性IsCrossPostBack.
在实际的编程中,可能经常需要在跨页发送的目标页中获取源页中的某些信息,如控件值或公共属性,下面就介绍一下获取的方法。
1:获取源页中的控件值
如果源页和目标页位于同一 ASP.NET 应用程序中,则使用目标页中的 属性获取
if (Page.PreviousPage != null) { TextBox SourceTextBox =(TextBox)Page.PreviousPage.FindControl("TextBox1"); if (SourceTextBox != null) { Label1.Text = SourceTextBox.Text; } }
如果源页和目标页位于不同的 ASP.NET 应用程序中,则可以从Form集合中获取。(注:同一个应用程序中也可以使用Form集合)
if (Request.Form["txtName"] != null)
{
Response.Write(Request.Form["txtName"].ToString());
}
2:获取源页中的公共属性
若要获取源页的公共成员,必须先获取对源页的强类型引用。
方法是在目标页中包含一个 指令,该指令允许您指定源页
<%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
在源页中,使用如下语句公开了某个文本框的值:
public String CurrentCity
{
get
{
return textCity.Text; //主要用于为跨页发送公开值的属性通常是只读属性
}
}
在目标页中:
Label1.Text = PreviousPage.CurrentCity;