如何仅在特定视图中显示部分局部视图

时间:2014-01-07 10:55:21

标签: c# asp.net-mvc-4 asp.net-mvc-partialview

我只需要在视图中显示部分部分内容。我在其他视图中加载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>
    }

1 个答案:

答案 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

请更改检查其他控制器上下文视图的逻辑