【问题标题】:ASP.NET Listbox databound to List of custom objects. Does it keep the actual objects?ASP.NET Listbox 数据绑定到自定义对象列表。它是否保留实际对象?
【发布时间】:2010-10-30 17:35:32
【问题描述】:

在 ASP.NET 中, 我已将列表框控件绑定到自定义类列表(由 TimeSpan 和 Int 成员组成)。 ToString() 函数只是将它们都显示为长字符串。

现在我想再次将修改后的列表框保存到数据库中,我需要再次使用自定义类对象。

ListBox 是否在数据绑定后保存实际的自定义对象?还是只有字符串表示?

如果是这样,我如何从 LB 获取它们?

【问题讨论】:

    标签: asp.net data-binding listbox


    【解决方案1】:

    将值创建到要绑定到列表框的集合中后,您可以使用视图状态在回发之间保持它们。

    例如

    ViewState["TimespanItems"] = myListHere;

    myListHere = (myListTypeHere) ViewState["TimespanItems"];

    【讨论】:

      【解决方案2】:

      谷歌搜索似乎没有多大帮助,但在我看来,数据绑定的 ListBox 包含名为 ListItems 的对象,这些对象具有 Text 和 Value 属性。数据绑定会确定哪个来自您的自定义类并显示它们。

      简短的回答:不,它看起来不像 ListBox 正在存储实际的类。

      【讨论】:

      • 是的,看起来是这样的……真可惜。在这方面,您有替代方案可以提供给我吗?
      • 当你需要保存数据时,你可以遍历文本框,从Text和Value创建你需要的类,然后保存那个类(即覆盖原来组合的类) .这符合您的要求吗?
      • 但是,我的建议假设您可以使用 Text 和/或 Value 参数唯一标识您的日期。你有一个唯一的标识符吗?如果这样做,请将其绑定到 Value 字段以使您的生活更轻松。
      猜你喜欢
      • 1970-01-01
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多