0
目前在MVC中,我們必須手動定義列,每當我們要列出項目:使用lambda表達式預選對象屬性,然後在MVC中顯示?
<tr>
<td>
@Model.Name
</td>
<td>
@Model.Age
</td>
<td>
@Model.Gender
</td>
</tr>
我想不過的事,就是有一個視圖模型,我們指定要使用的列,像:
var model = new PersonViewModel(
// List of persons
CollectionOfPersons,
// List of columns that we want to display
new Expression<Func<Person, object>>[]
{
x => x.Name,
x => x.Age,
x => x.Gender
});
那麼在我們看來,所有我需要做的是:
<tr>
// Model.Predicates is our ViewModel's selected columns
@foreach(var predicate in Model.Predicates)
{
<td>
// This would basically loop each pre-defined lambda expression in our ViewModel
@Html.DisplayFor(predicate)
</td>
}
</tr>
我不得不承認我有EXP一個非常薄弱的理解迴應,而我迄今在尋找信息方面一直不成功。有沒有人有任何想法,如果這是可能做到的?