0

这是我的问题。

我有一个用 DataObject 装饰的 Factory 类和一个用 Select 装饰的 Systems 方法。它有一个参数是我创建的枚举,所以它看起来像:

命名空间 BLL {

[DataObject]
public class Factory {


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

        ...
    }
}

}

我的问题是,每当我尝试将此方法与 Objectdatasource 向导一起使用时,它都会崩溃……实际上,它什么也没做。我能够选择我的 BusinessObject,Factory,它没有做任何其他事情,当我应该选择 select 方法时它消失了。

我已经测试过,只有当参数是枚举时才会发生。我能做些什么?

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

4

2 回答 2

1

塞尔吉奥,我今天不得不处理这种情况,我能够成功地在<SelectParameters>集合中以声明方式配置枚举值:

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

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

注意:这里的“ReadOnly”值是根据我对PermissionLevel枚举类型实现的假设。

public enum PermissionLevel { ReadOnly, Modify }
于 2012-08-27T23:40:19.153 回答
0

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

于 2012-06-21T10:54:13.033 回答