MVC 3中的复杂WebGrid绑定

时间:2011-05-19 03:51:50

标签: c# asp.net-mvc-3

假设我有一个像这样的父对象(伪代码)

public Parent()
  string FirstName
  string LastName
  IEnumarable<Child> Children
  Child GetOldestChild()  <- A function that returns the oldest child in Children

public Child()
  string ChildFirstName
  string ChildLastName
  int ChildAge

好的,所以我想将WebGrid绑定到IEnumarable&lt;父&gt;,并且在每一行中,我想显示父亲的姓名和姓氏/姓氏/年龄。

获取父列很简单,我可以像这样绑定:

grid.Column("FirstName")

但是获取最老的孩子数据是我不知道该怎么做的。这不起作用,但这是我想要完成的事情:

grid.Column("GetOldestChild().ChildFirstName")

希望我错过了一些简单的事情......

2 个答案:

答案 0 :(得分:3)

尝试这种方式:

public Parent()
  string FirstName
  string LastName
  IEnumarable<Child> Children
  private Child GetOldestChild()
  public Child OldestChild { get { return GetOldestChild() } };

public Child()
  string ChildFirstName
  string ChildLastName
  int ChildAge

grid.Column("OldestChild.ChildFirstName")

答案 1 :(得分:1)

这是我提出的解决方案,它可以让您在不创建模型的无关属性的情况下完成所需的操作,并且还可以获得参数化数据:

Binding MVC WebGrid column to source's dictionary property value