0

MVC 3 内の webGrid で強くバインドされた複合型にアクセスするにはどうすればよいですか。たとえば、Employee というプロパティとして別のオブジェクトを持つ Project というオブジェクトがあります。2 つのオブジェクトは、主キー EmployeeId で相互に関連付けられています。プロジェクトが強くバインドされたオブジェクトである場合、Project クラスのプロパティである従業員クラスに属するプロパティにアクセスするにはどうすればよいでしょうか?

私は周りを検索して、ドット表記を使用する答えを見つけました。(Employee.EmployeeId) しかし、それは機能しません

列をバインドするときにこれを行う特定の方法はありますか?

ありがとう。

4

1 に答える 1

1

ドット表記が機能するはずです。

モデル:

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")
    )
)

結果:

ここに画像の説明を入力

于 2012-06-20T06:06:48.890 に答える