Asp.net mvc 3 ActionResult详细信息需要将FK从列表解析为显示名称?

Asp.net mvc 3 ActionResult详细信息需要将FK从列表解析为显示名称?,asp.net-mvc-3,entity-framework-4,html-helper,Asp.net Mvc 3,Entity Framework 4,Html Helper,我的详细信息ViewModel中有一个FK,当视图绑定到ViewModel时,我只返回FK(预期)。FK是对简单ID/名称类型表的引用。我在VM中还有一个强类型列表,表示FK引用的表。我想做一些像 <div class="display-field">@Model.ManufacturersList.Find(x => x.ID == Model.softwaremanufacturerid))</div> @Model.ManufacturersList.Fin

我的详细信息ViewModel中有一个FK,当视图绑定到ViewModel时,我只返回FK(预期)。FK是对简单ID/名称类型表的引用。我在VM中还有一个强类型列表,表示FK引用的表。我想做一些像

<div class="display-field">@Model.ManufacturersList.Find(x => x.ID == Model.softwaremanufacturerid))</div>
@Model.ManufacturersList.Find(x=>x.ID==Model.softwaremufacturerid))
虽然这将返回我想要的实例…但我不知道如何获得要显示的“Name”属性

很抱歉,如果这是一个更大的问题,但我想我会尝试所有相同的


感谢如果
.ManufacturersList.Find(x=>x.ID==Model.softwaremufacturerid)
返回您想要的,不要在视图中执行。视图应该只显示数据,而模型层应该真正执行搜索(
.Find

在视图模型中,为
ManufacturerName

public string ManufacturerName { get; set; }
在控制器中

MyViewModel vm = new MyViewModel()
{
    ManufacturerName = .ManufacturersList
        .Find(x => x.ID == theFKAlreadyInTheViewModel)
};
return View(vm);
那么在你看来,

@Model.ManufacturerName
或者,更简单地说,您可以使用ViewBag

ViewBag.ManufacturerName = YourManufacturersList
    .Find(x => x.ID == theFKAlreadyInTheViewModel);
那么在你看来,

@ViewBag.ManufacturerName

你的方式更加优雅,并保留在虚拟机中……我只需在我在许多web应用程序中发现的糟糕的lamda结尾添加“.name”,坚持1:1的视图:视图模型比率可能会很乏味,但在需要开始重构时,它是值得的。但情况并非总是如此。