我正在使用绑定字段并检查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();
}
答案 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)
这是用户错误!我在意外修改列的另一个区域有一些代码,道歉。