【发布时间】:2015-12-27 18:10:21
【问题描述】:
我的 MVC 布局页面大致如下所示
<!DOCTYPE HTML
<html class="prod">
<head>
</head>
<body>
</body>
</html>
我想根据控制器返回的内容动态呈现类属性 (prod) 的值。
到目前为止,我尝试了以下变体但没有成功
控制器
[ChildActionOnly]
[AllowAnonymous]
public PartialViewResult Environment()
{
return PartialView("Environment", "prod");
}
查看
@model string
@Model
布局
<html class="@{ Html.RenderAction("Environment", "Site"); }">
这实际上会生成以下内容
<htmlprod class=""></htmlprod>
<html>
</html>
当我使用 ContentResult 时也会发生同样的事情。需要明确的是,我不想使用 Viewbag。
我想生成一个原始 HTML 字符串并使用 PartialView 或类似的东西来显示它。实际值是通过控制器(ioc)的构造函数中的参数获取的。
【问题讨论】:
-
出于好奇,Viewbag 有什么问题?为什么控制器必须知道在哪个环境中?这似乎不合逻辑。
标签: asp.net-mvc asp.net-mvc-4 razor dynamic asp.net-mvc-partialview