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文件,在任何控制器中我都看不到对它的任何引用。依靠字符串来进行这种视图更改是不可靠的。考虑使用某种状态。不确定您的情况,您可以使用在操作中设置的会话变量,并在_布局视图中访问它