gpt4 book ai didi

c# - 为什么我在页面加载时在我的 gridview 中收到旧数据?

转载 作者:行者123 更新时间:2023-11-30 17:18:50 28 4
gpt4 key购买 nike

我正在执行的过程是,如果 lbl.Text 为“已验证”,则相应地禁用网格中的复选框。如果没有分页,代码可以正常工作。现在的问题是我正在使用分页,当我点击到网格的下一页时已验证的内容显示时启用了复选框。

我检查了断点。它在页面加载事件期间加载以前的 gridpage 值。在 pageloadevent 之后,它会继续设计并在网格中加载新值。

//-------loading previous page values of grid here---------

protected void Page_Load(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
Label lbl = (Label)row.FindControl("Labely8");
Label Label23 = (Label)row.FindControl("Label23");
CheckBox checkbox = (CheckBox)row.FindControl("chkRows");
if (lbl.Text == "Validated")
{
checkbox.Enabled = false;
}
else
{
checkbox.Enabled = true;
}
}
}

最佳答案

我认为您需要在 GridView.RowDataBound 中单独启用或禁用每个复选框。事件而不是在 Page_Load 事件中一次全部发生:

void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox checkbox = (CheckBox)e.Row.FindControl("chkRows");
checkbox.Enabled = e.Row.Cells["nameOfCellWithLabel"].Text == "Validated";
}
}

关于c# - 为什么我在页面加载时在我的 gridview 中收到旧数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5362398/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com