【问题标题】:Declarative syntax for a collection of value types in ASP.NET?ASP.NET 中值类型集合的声明性语法?
【发布时间】:2010-07-16 20:50:05
【问题描述】:

我知道在 ASP.NET(这里主要谈论 2.0)中,可以在一个对象上设置一个属性,该对象接受一组事物(我猜是一个可枚举类型是触发器),然后以声明方式引用它。例如:

<ObjectDataSource properties="blahblahblah">
    <SelectParameters>
        <asp:Parameter />
    </SelectParameters>
</ObjectDataSource>

&lt;asp:Parameter /&gt; 部分是我问题的根源。假设我想要一个更简单的类型集合。说一个List&lt;String&gt;,或者如果泛型不可用,一个 IntegerCollection 或 StringCollection。我将如何以声明方式使用它?是否允许 &lt;string value=''&gt;,或者我可以像 &lt;StringCollection&gt;string, string, string&lt;/StringCollection&gt; 那样将原始值放入其中吗?

编辑:

我觉得我的问题不够清楚。我了解 ObjectDataSource 将其 SelectParameters 属性实现为 ParametersCollection,并且可以以声明方式(在 ASPX 页面中)使用该属性来设置该集合中的参数类型。我想知道的是,如果我将 StringCollection 之类的东西作为另一个控件的属性,是否有用于将字符串添加到该集合的语法(在 ASPX 中)?或者我是否必须定义一个包装类,例如 DropDownList 如何使用 ListItems 来填充其集合?

【问题讨论】:

    标签: asp.net generics collections asp.net-2.0 declarative


    【解决方案1】:

    在 objectdatasource 中,selectparameter 指的是返回集合的方法中的参数。该参数需要是可以从字符串转换的东西,不能是集合或数组。

    【讨论】:

      【解决方案2】:

      我最终找到了我需要的东西。一般的答案是在属性上使用 TypeConverter 属性。 GridView 使用(作为一个示例)DataKeyNames 执行此操作,将字符串中以逗号分隔的名称列表转换为字符串数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 2023-03-22
        • 2022-10-07
        相关资源
        最近更新 更多