我知道在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填充其集合?
答案 0 :(得分:1)
在objectdatasource中,selectparameter引用返回集合的方法中的参数。该参数需要是可以从字符串转换的内容,它不能是集合或数组。
答案 1 :(得分:1)
我最终找到了我需要的东西。一般的答案是在属性上使用TypeConverter属性。 GridView使用(作为一个示例)DataKeyNames执行此操作,将字符串中逗号分隔的名称列表转换为字符串数组。