这是我的问题。
我有一个Factory类,用DataObject和一个Systems方法修饰,用Select修饰。它有一个参数,它是一个创建的枚举,所以它的内容如下:
命名空间BLL {
[DataObject]
public class Factory {
[DataObjectMethod(DataObjectMethodType.Select)]
public List<WaterSystem> Systems(PermissionLevel permission) {
...
}
}
}
我的问题是,无论何时我尝试将此方法与Obbjectdatasource向导一起使用只是崩溃......实际上,它并没有做任何事情。能够选择我的BusinessObject,Factory并且它没有做任何其他事情,当我应该选择select方法时它会消失。
我已经过测试,只有当参数是枚举时才会发生。我该怎么办?
我的一般想法是Enum将代表我想要提取的数据的可见性级别,所以我需要它或可替换的东西。
答案 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上指定了参数名称,并在选择事件上设置了参数。