效果一:转到另外一个页面去
第一个页面前台代码:
<asp:HyperLinkColumn DataNavigateUrlField="EmployeeID" DataNavigateUrlFormatString="Webform2.aspx?id={0}"
DataTextField="FirstName" HeaderText="姓氏"></asp:HyperLinkColumn>
第一个页面后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=sa");
con.Open();
SqlCommand cmd=new SqlCommand("select * from Employees",con);
SqlDataReader sdr=cmd.ExecuteReader();
this.DataGrid1.DataSource=sdr;
this.DataBind();
con.Close();
sdr.Close();
}
第二个页面的前台代码:
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<table>
<tr>
<td width="200">员工姓氏:<%#DataBinder.Eval(Container.DataItem,"FirstName")%></td>
<td width="200">员工名字:<%#DataBinder.Eval(Container.DataItem,"LastName")%></td>
</tr>
<tr>
<td width="200">员工生日:<%#DataBinder.Eval(Container.DataItem,"BirthDate")%></td>
</tr>
<tr>
<td width="200">称谓:<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%></td>
<td width="200">籍贯:<%#DataBinder.Eval(Container.DataItem,"City")%></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
第二页面的后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string ID= Request.QueryString["id"].ToString();
SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=sa");
con.Open();
SqlCommand cmd=new SqlCommand("select * from Employees where EmployeeID='"+ ID+"'",con);
SqlDataReader sdr=cmd.ExecuteReader();
this.Repeater1.DataSource=sdr;
this.DataBind();
con.Close();
sdr.Close();
}
效果二:使用javascript弹出小页面
第一个页面前台:
<asp:HyperLinkColumn DataNavigateUrlField="EmployeeID" DataNavigateUrlFormatString="javascript:var w=window.open('WebForm2.aspx?id={0}','新的页面','directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,height=400,width=500')"
DataTextField="LastName" HeaderText="名字"></asp:HyperLinkColumn>
其余的都和第一种做法一样的。