在asp.net 2.0里,多了crosspage的功能,也就是说,可以很方便地在第二个页面里接受第一个页面里的参数值了, 详细参考里说的。这里,举个
常见的例子,比如在一个gridview里,当点选第一列某个人的姓名后,接着并跳转到第二页,在这页里显示关于这个人的具体信息,这可以很方便地用cross page的功能实现。

A页面有个gridview:

<asp:GridView ID="g" runat="server"
AllowSorting="True" AutoGenerateColumns="False" AllowPaging="True"
PageSize="50" OnRowCommand="g_OnRowCommand">
<Columns>
<asp:ButtonField HeaderText="Username"
CommandName="Select" DataTextField="Username"
ButtonType="Link" </asp>

  .....................


然后在g_onrowcommand事件中写入如下代码

protected void g_OnRowCommand(object sender, 
GridViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = (GridViewRow)g.Rows[index]; LinkButton clickedLinkedButton =
((LinkButton)selectedRow.Cells[0].Controls[0]); SelectedUserName = clickedLinkedButton.Text;
Server.Transfer("../../pages/search/usersummary.aspx", true);
}
}

在这里,首先得到用户选的是哪一行的记录(得出index),然后在得到gridview里第一列的连接的内容,最后用 SelectedUserName 存放用户点选的是哪一条记录中的username.,
其中,SelectedUserName是属性来的,定义如下
 

private String   _selectedUserName;

public String SelectedUserName
{
get
{
return _selectedUserName;
}
set
{
_seletedUserName=value;

}

}

然后在第二个接收页面b.aspx里,这样设计

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

protected void Page_Load(object sender, EventArgs e)
{
if (this.PreviousPage != null)
{
Response.write( this.PreviousPage.SelectedUserName);
}
}