网格视图复选框在新页面上更新用户
本文关键字:更新 用户 新页面 视图 复选框 网格 | 更新日期: 2023-09-27 18:25:20
我正在尝试用文本框更新另一个页面中的用户。但我想做的是基于Gridview来选择用户。
因此,在第一页上,您会看到一个带有用户列表和复选框的网格视图。您可以使用复选框选择一个用户,然后点击编辑用户按钮。然后它转到一个新页面,允许您在文本框中编辑用户,但由于ID或其他唯一列而填充数据。我该怎么做??
这是我迄今为止的代码:
protected void Button2_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvrow in GridView1.Rows)
{
CheckBox CheckBox1 = (CheckBox)gvrow.FindControl("chkSelect");
if (CheckBox1.Checked)
{
//Go to new page to edit user
}
else
{
//Do nothing if not checked
}
}
}
我假设您的复选框在<asp:TemplateField>
中。
因此,在<asp:TemplateField>
中,您可以添加一个<asp:HiddenField />
来存储用户的ID
。然后可以通过获取<asp:HiddenField />
的值来获取ID
ASPX标记:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
<asp:HiddenField ID="hfdUserID" runat="server" Value='<%#Eval("id") %>' />
</ItemTemplate>
</asp:TemplateField>
代码隐藏:
protected void Button2_Click(object sender, EventArgs e)
{
int userid = 0;
foreach (GridViewRow gvrow in GridView1.Rows)
{
CheckBox CheckBox1 = (CheckBox)gvrow.FindControl("chkSelect");
if (CheckBox1.Checked)
{
userid = Convert.ToInt32(((HiddenField)gvrow.FindControl("hfdUserID")).Value);
Response.Redirect("useredit.aspx?id=" + userid.ToString());
}
}
}
编辑:要让用户ID
进入新页面,您可以使用以下内容,然后相应地使用
int userid = Convert.ToInt32(Request.QueryString["id"]);