【问题标题】:How to get orginal data back after it has been databound?数据绑定后如何取回原始数据?
【发布时间】:2010-07-15 04:10:42
【问题描述】:

我已将一些数据绑定到数据网格,我希望能够取回原始数据。

我已在我的代码的一部分中按如下方式对数据进行了数据绑定。

IEnumerable<MyClass> myClasses = GetMyClassesFromDatabase();
DataGridForMyClass.DataSource = myClasses;
DataGridForMyClass.DataBind();

单击按钮后,我希望能够对数据网格中的项目进行处理。

在给定 DataGridForMyClass 的情况下,我如何检索 MyClass 的原始列表?

【问题讨论】:

    标签: c# asp.net datagrid


    【解决方案1】:

    你不能把它拉出网格。您需要将数据存储在某处(SessionCacheViewState)并在那里检索数据。只有基本控件及其值存储在网格中。

    例如,如果您在使用 Label 的网格中显示 DateTime,则不会存储 DateTime,只有通过 Label 放置和保存的文本表示实际上在网格中,您的原始绑定数据不是。

    编辑:根据您的评论,如果您想编辑网格中的数据,则必须将数据发回并使用RowCommandRowUpdating 事件。请参阅以下文章:

    http://www.aspdotnetcodes.com/GridView_Insert_Edit_Update_Delete.aspx

    【讨论】:

    • 那么我如何将这些项目的更改(经过一些修改)持久化回数据库?
    • @mezoid 如果此答案对您有所帮助,请不要忘记将其标记为已接受的答案。如果您需要更多帮助,请告诉我。
    • 我最终将用户控件中的数据解析为数据传输对象,然后使用该对象从数据库中检索记录并更新详细信息。虽然您的答案与我所做的不完全匹配,但我想它确实为我指明了我选择的解决方案的方向,所以我想我可以将此标记为已回答。
    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2021-03-14
    • 2019-08-03
    • 1970-01-01
    • 2021-12-13
    相关资源
    最近更新 更多