C# 如何在特定视图中仅显示局部的一部分

C# 如何在特定视图中仅显示局部的一部分,c#,asp.net-mvc-4,asp.net-mvc-partialview,C#,Asp.net Mvc 4,Asp.net Mvc Partialview,我只需要在视图中显示部分的一部分。我正在加载其他视图中的部分,我不想加载所有视图 我所做的是在视图中设置一个ViewBag.Title=“cat”,然后检查部分,如果(ViewBag.Title==“cat”),则显示这段html 我认为这里的错误在于,我在视图中实际使用分部之前签入分部 不管怎样,我应该如何处理这个问题 以后编辑: Category.cshtml: @{ ViewBag.Title = "Cat"; Layout = "~/Views/Shared/_Layou

我只需要在视图中显示部分的一部分。我正在加载其他视图中的部分,我不想加载所有视图

我所做的是在视图中设置一个
ViewBag.Title=“cat”
,然后检查部分
,如果(ViewBag.Title==“cat”)
,则显示这段html

我认为这里的错误在于,我在视图中实际使用分部之前签入分部

不管怎样,我应该如何处理这个问题

以后编辑:

Category.cshtml:

@{
    ViewBag.Title = "Cat";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<p>some random html</p>
@{
ViewBag.Title=“Cat”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
一些随机html

_Layout.cshtml

@if (ViewBag.Title == "Cat")
    {
      <span>html I need only in Category.cshtml</span>
    }
@if(ViewBag.Title==“Cat”)
{
我只需要Category.cshtml中的html
}

我认为您无法从其他操作访问在其他控制器操作方法中创建的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

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

两者都在同一控制器上下文中或不同?显示视图的(相关)代码和实际编译器错误。已更新;我认为是同一个控制器,partial是一个简单的cshtml文件,在任何控制器中我都看不到对它的任何引用。依靠字符串来进行这种视图更改是不可靠的。考虑使用某种状态。不确定您的情况,您可以使用在操作中设置的会话变量,并在_布局视图中访问它