我只需要在视图中显示部分部分内容。我在其他视图中加载partial,我不想加载所有视图。
我做了什么并且打破了我的构建是在视图中设置ViewBag.Title = "cat"
,然后检查部分if(ViewBag.Title == "cat")
,显示这一点html。
我认为这里的错误是我在视图中实际使用部分之前检查部分内容。
无论如何,我该如何处理?
稍后编辑:
Category.cshtml:
@{
ViewBag.Title = "Cat";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<p>some random html</p>
_Layout.cshtml
@if (ViewBag.Title == "Cat")
{
<span>html I need only in Category.cshtml</span>
}
答案 0 :(得分:0)
我认为您无法从其他操作访问在其他控制器操作方法中创建的ViewBag。
public ActionResult Main()
{
ViewBag.Title="Parent Page";
return View();
}
public ActionResult Partial()
{
return View();
}
Partial.cshtml // 错误
if(ViewBag.Title)// should be null, since it is running in a different controller context
请更改检查其他控制器上下文视图的逻辑