0

Microsoft の mvc フレームワークのモデル バインダーに同意できません。読み取り専用でタイプが guid の id プロパティを持つドメイン モデルの基本クラスがあります。ただし、読み取り専用であるため、バインダーはプロパティの値を設定できません。それで、私は完全にめちゃくちゃですか、それとも誰かが私の問題を解決できますか?

編集:いつものように、私が言及するのを忘れた追加情報があります。バインダーにidプロパティをバインドさせたいのは、それが別のモデルオブジェクトに関連するオブジェクトである場合だけです。この場合のように、投稿のカテゴリを選択しており、ORM の ID のみが必要です。

4

2 に答える 2

1

バインダーは読み取り専用の値を設定できません。一般的なシナリオは、モデルを作成し、ID を返すというものです。

次にそのオブジェクトを取得するときに、オブジェクトの取得を容易にするために ID がコンストラクターに渡されます。そのプロパティを双方向にバインドする必要はありません。

于 2009-02-10T22:20:47.947 に答える
1

私は答えに同意しません - バインダーが読み取り専用またはプライベート プロパティを設定できないのはなぜですか? これにより制限が導入され、オブジェクトが不変になるのを防ぎます。(もちろん、独自のモデルバインダーを実装することもできます)

私はバインダーやリフレクションの専門家ではありませんが、標準の実装ではリフレクションが使用されており、リフレクションはプライベート プロパティを設定しないという制限を設定していないと思います。

于 2009-07-13T14:05:41.100 に答える