简体   繁体   English

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

[英]How do capture row selected in gridview and pass username value to text box in the next page?

I would like to select the gridview and redirect to the next page where username in gridview passed to the text box in the next page when the row is being clicked. 我想选择gridview并重定向到下一页,当单击该行时,gridview中的用户名将传递到下一页的文本框中。 How do i do that? 我怎么做?

My code behind (on the first page): 我的代码后面(在第一页上):

protected void GridView1_OnRowSelected(object sender, GridViewSelectEventArgs e)
{
    var username = Convert.ToString(GridView1.DataKeys[e.NewSelectedIndex].Value);
    Response.Redirect("ViewUploads.aspx?USERNAME=" +username);
}

My code on the second page: 我在第二页上的代码:

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

I assume that you're looking for the SelectedIndexChanged event of the GridView . 我假设您正在寻找GridViewSelectedIndexChanged事件。

protected void GridView_SelectedIndexChanging(Object sender, GridViewSelectEventArgs e)
{
    var username = GridView1.DataKeys[e.NewSelectedIndex].Value.ToString();
    Response.Redirect("ViewUploads.aspx?USERNAME=" +username);
}

In the next page( ViewUploads.aspx ) you need to assign it to the TextBox' Text : 在下一页( ViewUploads.aspx )中,您需要将其分配给TextBox的Text

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack && Request.QueryString["USERNAME"] != null)
        this.txtUserName.Text = Request.QueryString["USERNAME"];
}

I'm not sure if you have already done that, if you want to use the DataKeys -collection in the first page, you have to set the DataKeyNames property accordingly. 我不确定是否已经这样做,如果要在第一页中使用DataKeys -collection,则必须相应地设置DataKeyNames属性。 For example: 例如:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM