使用视图状态来保存数据,以将其重用于绑定下拉列表
本文关键字:用于 下拉列表 绑定 视图状态 保存 数据 | 更新日期: 2023-09-27 18:31:37
处理具有Repository Pattern
的样本 MVP(Model View Presenter) Framework
工作场景
我正在使用一个Telerik Grid
它使用我使用 Include
获得的 4 个表中的数据,其中 3 个表是查找。
我希望用户能够Edit Records
并Insert new records
到网格中。所以我需要从Add/Edit Records Form
的查找表中Bind
Drop downs
.
问题/困惑
对于绑定下拉列表,我不想再做一次Database Call
所以我正在考虑通过在view state
中维护它来使用该data-source of grid only
。
喜欢这个
/// <summary>
/// Sets List of Case Info's into grid datasource
/// </summary>
List<CaseInfo> ICaseInformationGridView.CaseInfoList
{
set
{
radgrid1.DataSource = value;
ViewState["randomName"] = value;
}
}
如果不是,这是否是一个很好的方法,我应该采用为查找创建属性并相应地使用它们的方法。
在我看来
,与数据库访问相比,ViewState
会慢得多。如果是视图状态,则存储值以填充客户端页面中的下拉列表。如果你想要来自客户端页面的数据,他必须将页面发布回服务器(包括此视图状态内容)。
和服务器之间的数据传输主要取决于客户端的互联网连接。请不要给客户端带来开销。
Asp.net 提供不同类型的缓存来管理这些不需要的服务器负载。在这里看到这样的StackOverflow问题。