gpt4 book ai didi

c# - 在最后一次调用 RowDataBound 时更新 Session 变量

转载 作者:行者123 更新时间:2023-11-30 20:18:12 24 4
gpt4 key购买 nike

我正在处理一个 Web Forms 项目。这是一个旧的,这次添加了很多抽象。在我的一个页面上,我有一个带分页的 gridview。我正在尝试通过检查当用户转到下一个页面时当前 gridview 页面上的某些内容是否已更改来扩展当前的实现。我想我设法通过使用两个 session 变量来做到这一点。我的问题是其中一个在 RowDataBound 事件中填充,并且由于在原始 ASP.NET session 之上有一些抽象,我的代码在 RowDataBound 中 事件如下所示:

 SessionWrapper.GetInstance().RemoveSessionItem("OriginalData");
SessionWrapper.GetInstance().SetSessionItem("OriginalData", someData);

这是在 RowDataBound 实现的最后调用的,例如在我的例子中,gridview 每页显示 10 条记录,所以我删除了 10 次键,然后我将它添加到更新的数据,其中 someData 是每个记录的集合,在每次调用 RowDataBound 时附加。

我想做的是找到一种方法,它是 RowDataBound 的最后一次执行,并且只执行一次上述步骤。因为我知道每页有 10 页,所以我可以实现一个计数器并对其进行检查,但是如果在最后一页我的记录少于 10 条,或者总记录少于 10 条怎么办?

那么有没有办法可靠地检查 RowDataBound 的最后一次调用是什么时候?

最佳答案

我建议使用DataBound 来更新Session。像这样:

protected void GridView_DataBound(object sender, EventArgs e)
{
SessionWrapper.GetInstance().RemoveSessionItem("OriginalData");
SessionWrapper.GetInstance().SetSessionItem("OriginalData", someData);
}

这假定 someData 在此方法的范围内是可访问的。如果不是,则需要将其存储在类级别变量或 session 中。

关于c# - 在最后一次调用 RowDataBound 时更新 Session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41996667/

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