2011-01-17 13 views
1

私のASP.NET MVCプロジェクトにはいくつかの表示テンプレートがあります。今、私はそうのようにそれらを使用することができます:私がやりたいのは何Refelctionを使用して式<Func <TModel、TValue >>を作成します

@Model MyModel 

@Html.DisplayFor(x => x.PropertyName) 

は、オブジェクトグラフによる単なるループであり、動的に次の操作を行います。

@Model MyModel 

foreach(var property in MyModel.GetType().GetProperties()){ 
    @Html.DisplayFor(/*Any way to do this?*/) 
} 

任意のアイデア?私のためにあることを見つけるためのジェレミー・スキナーのおかげで

+0

をうーん...私が持っていましたテキストの例ですが、問題はDisplayForメソッドも一般的なので、それは難しいです... –

+0

* 'varの行に沿って*なるでしょうparam = Expression.Parameter(MyModel.GetType()); myModel.GetType()のvarプロパティ、GetProperties()){ @ Html.DisplayFor(Expression.Lambda(Expression.Property(param、property)、param)); } ' - でも、中にはいくつかのMakeGenericMethodがあります。このレベルの痛みは本当に価値がありますか? –

+0

NO。 :)ありがとう...私たちは、より多くの表示テンプレートがあっても、私はむしろ手でやってみたいと思っています...これは今私にバグを起こすでしょう... – iwayneo

答えて

1

私の記憶が正しければ、これはDisplayForModelはすでにまったく同じものです:

@Html.DisplayForModel(yourModel); 
+0

それは複雑な/ネストされた型で動作します:) – iwayneo

関連する問題