使用视图状态来保存数据,以将其重用于绑定下拉列表

本文关键字:用于 下拉列表 绑定 视图状态 保存 数据 | 更新日期: 2023-09-27 18:31:37

处理具有Repository Pattern的样本 MVP(Model View Presenter) Framework

工作场景

我正在使用一个Telerik Grid它使用我使用 Include 获得的 4 个表中的数据,其中 3 个表是查找。

我希望用户能够Edit RecordsInsert 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问题。