【发布时间】:2014-10-19 04:33:35
【问题描述】:
我在搜索中找不到任何可以解决我的问题的东西,这是我的问题:
我正在使用 ASP.NET MVC 4 和 EF 5,我试图从我的 db 中获取一个值,但是这个 db 字段取决于其他 var。
在控制器中:
public ActionResult Products()
{
ViewBag.lang = "ENG";
DataEntities db = new DataEntities();
ViewBag.Categories = db.Categories;
return View();
}
在模板视图中:
<ul>
@{
if (ViewBag.Categories != null)
{
foreach (var cat in ViewBag.Categories )
{
<!-- we need in this case "Name_ENG" -->
var title = "Name_" + @ViewBag.lang;
<li>@cat.(title)</li>
<!-- out: cat.ToString() + "(title)" -->
<li>@cat.(@title)</li>
<!-- out: cat.ToString() + "(" + title.ToString() + ")" -->
<li>@cat.@title</li>
<!-- out: cat.ToString() + title.ToString() -->
}
}
}
</ul>
有没有办法使用字符串从 @cat.Name_ENG 等 cat 对象中获取属性“Name_ENG”?
“在这种情况下,我试图在产品页面中列出所有类别。”
非常感谢
【问题讨论】:
-
我认为我们不能这样做。您在类别实体中有哪些属性?
-
可能我需要在控制器中生成一个自定义集合并使用 ViewBag 传递它...
-
@garrigueta 我认为将模型中的类别详细信息传递给
View(model)可以为您提供更好的选择,而不是使用 ViewBag。然后你可以利用Html.Display(title)等辅助方法来做你想做的事情。 -
@Rhumborl 我将在产品中使用此功能,也许我需要看看在一个视图中使用多个模型,如 View(model1,model2),但我不知道是否可能很简单,谢谢
标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor