我有一个由View构成的ViewBag.People;
var query = db.Vw_INTERACTPEOPLE.Select(p => new { p.PersonID, p.Fullname });
ViewBag.People = new SelectList(query.AsEnumerable(), "PersonID", "FullName");
哪一切都运行正常,但在我看来,我有另一个填充表格的模型,其中一个项目填充是一个JobcontactID(文本框),它链接到PersonID(我没有设计数据库)。所以我想在viewbag中搜索ID,而不是显示它我想显示人名Fullname,那么是否有任何viewbag搜索功能?
答案 0 :(得分:8)
我建议在ViewModel中传递该信息。从长远来看,它将保持清洁和可维护。这是一篇好文章:Use ViewModels to manage data & organize code in ASP.NET MVC applications
答案 1 :(得分:2)
ViewBag
只是dynamic
的{{1}}包装器(允许在运行时调用的属性成为用于在ViewData
中查找值的键)。您可以像这样查询ViewData
:
ViewData
更新您希望查询选择列表本身吗?
这是剃刀视图中定义的函数:
SelectList peopleSelectList = (from pair in ViewData
where pair.Key == "People"
select pair.Value);