0

これが私の問題です。

DataObject で装飾された Factory クラスと、Select で装飾された Systems メソッドがあります。作成された列挙型のパラメーターがあるため、次のようになります。

名前空間 BLL {

[DataObject]
public class Factory {


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

        ...
    }
}

}

私の問題は、Obbjectdatasource ウィザードでこのメソッドを使用しようとするたびにクラッシュすることです...実際には何もしません。BusinessObject、Factory を選択できますが、他には何もしません。select メソッドを選択するはずだったときに消えてしまいます。

テストしましたが、パラメーターが列挙型の場合にのみ発生します。私に何ができる?

私の一般的な考えは、取得するデータに与えたい可視性レベルを Enum が表すので、それまたは置き換え可能なものが必要です。

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 に答える