如何使用WebGrid访问强类型复杂模式属性

时间:2012-06-20 01:24:21

标签: asp.net-mvc-3 entity-framework-4 webgrid

如何在MVC 3中访问webGrid中的强绑定复杂类型。例如,我有一个名为Project的对象,它将另一个对象作为名为Employee的属性。这两个对象在主键EmployeeId上相互关联。如果项目是强绑定对象,那么如何访问属于作为Project类属性的employee类的任何属性?

我搜索过并找到了使用点符号的答案。 (Employee.EmployeeId)但这不起作用

在绑定列时是否有特定的方法来执行此操作?

感谢。

1 个答案:

答案 0 :(得分:1)

dot 表示法应该有效。

型号:

public class Project
{
    public string Name { get; set; }
    public Employee Employee { get; set; }
}

public class Employee
{
    public int EmployeeId { get; set; }
}

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var model = Enumerable.Range(1, 5).Select(x => new Project
        {
            Name = "project " + x,
            Employee = new Employee
            {
                EmployeeId = x
            }
        });
        return View(model);
    }
}

查看:

@model IEnumerable<Project>

@{
    var grid = new WebGrid(Model);
}

@grid.GetHtml(
    columns: grid.Columns(
        grid.Column("Name"),
        grid.Column("Employee.EmployeeId")
    )
)

结果:

enter image description here