ObjectdataSource:当Method参数是枚举时,无法使用向导

时间:2012-06-20 12:20:33

标签: c# .net objectdatasource

这是我的问题。

我有一个Factory类,用DataObject和一个Systems方法修饰,用Select修饰。它有一个参数,它是一个创建的枚举,所以它的内容如下:

命名空间BLL {

[DataObject]
public class Factory {


    [DataObjectMethod(DataObjectMethodType.Select)]
    public List<WaterSystem> Systems(PermissionLevel permission) {

        ...
    }
}

}

我的问题是,无论何时我尝试将此方法与Obbjectdatasource向导一起使用只是崩溃......实际上,它并没有做任何事情。能够选择我的BusinessObject,Factory并且它没有做任何其他事情,当我应该选择select方法时它会消失。

我已经过测试,只有当参数是枚举时才会发生。我该怎么办?

我的一般想法是Enum将代表我想要提取的数据的可见性级别,所以我需要它或可替换的东西。

2 个答案:

答案 0 :(得分:1)

Sergio,我今天必须处理这种情况,并且我能够在<SelectParameters>集合中以声明方式成功配置枚举值:

<asp:Parameter Name="permission" Type="Object" DefaultValue="ReadOnly" />

似乎重要的是DefaultValue属性中提到的枚举值是枚举键的文本表示。如果必须动态分配此值,则可以使用具有几乎相同属性的<asp:ControlParameter />

注意:此处的“ReadOnly”值是我对PermissionLevel枚举类型实现的假设。

public enum PermissionLevel { ReadOnly, Modify }

答案 1 :(得分:0)

嗯,事实证明,我不必依靠向导来做到这一点。我最终手动完成了。我只在objectdatasource上指定了参数名称,并在选择事件上设置了参数。