回发后gridview单元格文本为空白

时间:2014-04-28 17:25:20

标签: c# asp.net

我正在使用绑定字段并检查rowdatabound事件中的单元格文本。当它不是回发时,在单元格文本中有一些东西。但是当我导致回发时,单元格文本是空白的,但它在显示屏上不显示空白(e.Row.Cells [2] .Text是我正在检查的内容)

void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.Cells[2].Text != tbUserName.Text)
        {
            LinkButton b = e.Row.Cells[1].Controls[0] as LinkButton;
            b.Visible = false;
        }

    }
}

protected void Page_Load(object sender, EventArgs e)
{
    IEnumerable<Task> tasks = _dbc.Tasks.ToList();        
    GridView1.DataSource = tasks;
    GridView1.DataBind();


}

2 个答案:

答案 0 :(得分:0)

您需要跟踪是首次呈现页面还是正在加载以响应回发。目前gridview在每次回发时都会一次又一次地绑定。

protected void Page_Load(object sender, EventArgs e)
{
   if(!IsPostBack)
   {
      IEnumerable<Task> tasks = _dbc.Tasks.ToList();        
      GridView1.DataSource = tasks;
      GridView1.DataBind();
   }
}

答案 1 :(得分:0)

这是用户错误!我在意外修改列的另一个区域有一些代码,道歉。