1

匿名クラスを使用する主な目的は、別のビューモデルを作成することなく、メイン モデルの外部にあるさまざまな値を含むデータをビューに渡すことです。

私は、LINQ と ExpandoObject に非常に慣れていることに気づきました。ただし、@model IEnumerable でビューをマークしたため、Html ヘルパーを使用できなくなりました。これは、そのメソッドが拡張メソッドとして解決される必要があり、許可されておらず、ランタイム例外をスローする必要があるためです。

@Html.Display("Property")

問題は、編集のために TextBox などとしてレンダリングする必要があるプロパティがあるため、EditorFor() などの Html ヘルパー メソッドを使用することがほぼ必須になっていることです。したがって、強く型付けされたモデルに戻ったほうがよいと思います。

ただし、既存のモデルの単なる混合物である数え切れないほどの「一時的な」ビューモデルでプロジェクトを台無しにしたくありません。それで、それを達成する方法はありますか?複合クラスよりも優れた解決策があるかどうか疑問に思っています。

4

1 に答える 1

0

を使用System.ReflectionしてクラスProperties名を取得できます。例:typeof(object).GetProperties

于 2014-05-05T17:54:38.183 に答える