ASP.NET中值集类型的声明式语法?

时间:2010-07-16 20:50:05

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

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

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

<asp:Parameter />部分是我问题的根源。说我想要一个类型更简单的集合。假设一个List<String>或者泛型,IntegerCollection或StringCollection。我如何以声明方式使用它?允许<string value=''>,还是可以将原始值放入<StringCollection>string, string, string</StringCollection>或什么?

编辑:

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

2 个答案:

答案 0 :(得分:1)

在objectdatasource中,selectparameter引用返回集合的方法中的参数。该参数需要是可以从字符串转换的内容,它不能是集合或数组。

答案 1 :(得分:1)

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