前端:将需要跳转的页面中GridView中设置成模板列,使用HyperLink 的Navigate属性的第一个参数绑定数据,第二个是格式化参数实现页面跳转。
<asp:TemplateField HeaderText="用户名" SortExpression="UserName">
<ItemTemplate>
<asp:HyperLink ID="HyperLink2" runat="server"
NavigateUrl='<%#Eval("UserID","UserInformation.aspx?UserID={0}") %>' Text='<%#Eval("UserName") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
后台:在绑定代码中Page.Request.QueryString["UserID"]使用接收发送过来的数据,再使用DataRowView行视图接收查询的行数据。然后用控件接收此行各列通过Rows索引返回的数据。除了可以返回普通文本数据外,还可以返回下拉框、单选框的数据,就需要提前将相应字段绑定到控件上。
private void SetBind()
{
DataSet ds = new DataSet();
DataSet dsDepartment = new DataSet();
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
SqlDataAdapter da = new SqlDataAdapter("select * from tbUser where UserID='"+Page.Request.QueryString["UserID"]+"' ", conn);
da.Fill(ds);
SqlDataAdapter daDepartment = new SqlDataAdapter("select * from tbDepartment",conn);
daDepartment.Fill(dsDepartment);
ddl_BelongToDepartment.DataSource = dsDepartment;
ddl_BelongToDepartment.DataTextField = "DepartmentName";
ddl_BelongToDepartment.DataValueField = "DepartmentID";
ddl_BelongToDepartment.DataBind();
ddl_BelongToDepartment.Items.Insert(0, "请选择系部名称");
DataRowView dvUser= ds.Tables[0].DefaultView[0];
lb_UserName.Text = dvUser.Row["UserName"].ToString();
tb_UserPassword.Text = dvUser.Row["UserPassword"].ToString();
tb_UserRealName.Text = dvUser.Row["UserRealName"].ToString();
rbl_UserGender.SelectedValue = dvUser.Row["UserGender"].ToString();
tb_Birthday.Text = dvUser.Row["Birthday"].ToString();
ddl_EeducationBackground.SelectedValue = dvUser.Row["EducationBackGround"].ToString();
rbl_InsideOrOutside.SelectedValue = dvUser.Row["InsideOrOutside"].ToString();
tb_WorkUnit.Text = dvUser.Row["WorkUnit"].ToString();
ddl_BelongToDepartment.SelectedValue = dvUser.Row["BelongToDepartment"].ToString();
tb_Position.Text=dvUser.Row["Position"].ToString();
tb_Tel.Text = dvUser.Row["Tel"].ToString();
tb_QQ.Text = dvUser.Row["QQ"].ToString();
}
}