简体   繁体   中英

Why can I not catch the value of Gridview row?

Here is my code. problem: When click om a row och on select the page is refreshing and i dont get the text in the lable17.text.

 protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{

    GridViewRow row = GridView1.SelectedRow;

    Label17.Text = row.Cells[2].Text.ToString() ;
}


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Attributes.Add("onmouseover", "this.style.cursor='Pointer';this.style.backgroundColor='Yellow'");

    }
}

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
    GridViewRow row = GridView1.Rows[e.NewSelectedIndex];
    Label17.Text = "you selected" + row.Cells[2].Text;
}

Is your GridView in an UpdatePanel ? If not the entire Page will postback when you click on the Button. Also, make sure that if you are setting the Text of Label17 in the Page_Load event that you only do it the first time ie

public void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack)
    {
        Label17.Text = "Default Text";
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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