C# 如何捕获gridview中选定的行并将用户名值传递给下一页的文本框?

C# 如何捕获gridview中选定的行并将用户名值传递给下一页的文本框?,c#,asp.net,gridview,C#,Asp.net,Gridview,我想选择gridview并重定向到下一页,单击该行时,gridview中的用户名将传递到下一页的文本框中。我该怎么做 我的代码隐藏(在第一页): 我在第二页的代码: protected void TextBoxUsername_TextChanged(object sender, EventArgs e) { var username = Request.QueryString["USERNAME"]; } 我假设您正在查找GridView事件 protected void GridV

我想选择gridview并重定向到下一页,单击该行时,gridview中的用户名将传递到下一页的文本框中。我该怎么做

我的代码隐藏(在第一页):

我在第二页的代码:

protected void TextBoxUsername_TextChanged(object sender, EventArgs e)
{
    var username = Request.QueryString["USERNAME"];
}

我假设您正在查找
GridView
事件

protected void GridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
{
    var username = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
    Response.Redirect("ViewUploads.aspx?USERNAME=" +username);
}
在下一页(
ViewUploads.aspx
)中,您需要将其分配给文本框“
Text

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack && Request.QueryString["USERNAME"] != null)
        this.txtUserName.Text = Request.QueryString["USERNAME"];
}
我不确定您是否已经这样做了,如果您想在第一页中使用
DataKeys
-集合,您必须相应地设置
DataKeyNames
属性。例如:

<asp:gridview id="GridView1" 
    datakeynames="UserName"
    onselectedindexchanged="GridView_SelectedIndexChanging"
    runat="server">
     ...
</asp:gridview>

...

那么它是否按预期工作?如果没有,什么不起作用?没有,它不起作用,当我在网格视图中单击该行时,它重定向到下一页,文本框中没有任何用户名。它应该从gridview传递用户名。我在下面编辑了我的答案。
<asp:gridview id="GridView1" 
    datakeynames="UserName"
    onselectedindexchanged="GridView_SelectedIndexChanging"
    runat="server">
     ...
</asp:gridview>