C# 是否可以将特定内容从局部视图渲染到主视图?

C# 是否可以将特定内容从局部视图渲染到主视图?,c#,asp.net-mvc,partial-views,C#,Asp.net Mvc,Partial Views,我有一个局部视图,比如说\u ABCPartialView,在我的局部视图中,我有两个标记,如下所示: <div> //some dynamic stuff </div> <div> <img src="blah blah"/> </div> //一些充满活力的东西 是否可以仅将包含标记的第二个呈现到我的主视图中? 此方法@html.Partial(“\u ABCPartialView”)呈现部分视图的所有元素。您的想法?您可以

我有一个局部视图,比如说
\u ABCPartialView
,在我的局部视图中,我有两个
标记,如下所示:

<div>
//some dynamic stuff
</div>

<div>
<img src="blah blah"/>
</div>

//一些充满活力的东西
是否可以仅将包含
标记的第二个
呈现到我的主视图中?
此方法
@html.Partial(“\u ABCPartialView”)
呈现部分视图的所有元素。您的想法?

您可以使用
ViewData
为您的PartialView提供参数。对于示例:

@Html.Partial("_ABCPartialView", null, new ViewDataDictionary { { "ShowSecondDiv", true } })
在您的PartialView中,您只需使用:

<div>

<div>

@if ((bool)ViewData["ShowSecondDiv"])
{
    <div>

    </div>
}

@如果((bool)ViewData[“ShowSecondDiv”])
{
}

您可以使用
视图数据
为PartialView提供参数。对于示例:

@Html.Partial("_ABCPartialView", null, new ViewDataDictionary { { "ShowSecondDiv", true } })
在您的PartialView中,您只需使用:

<div>

<div>

@if ((bool)ViewData["ShowSecondDiv"])
{
    <div>

    </div>
}

@如果((bool)ViewData[“ShowSecondDiv”])
{
}

您可以将一个模型传递到您的partial中,该模型将具有一个属性,无论是否执行该操作。例如:

这就是模型:

public class YourModel 
{
    public bool ShowDiv { get; set; }
}
这是父视图中的代码,它将信息传递给局部视图:

@Html.Partial("_ABCPartialView", new YourModel { ShowDiv = false });
在局部视图中,检查该属性并执行需要执行的操作

@if ((bool)Model.ShowDiv)
{
    <div>
         //some dynamic stuff
    </div>
}
@if((bool)Model.ShowDiv)
{
//一些充满活力的东西
}

局部视图可以像常规视图一样具有模型。此外,通过模型,您可以获得编译器帮助和智能,因此您不必担心拼写错误。

您可以将模型传递到分部中,分部将具有一个属性来决定是否执行此操作。例如:

这就是模型:

public class YourModel 
{
    public bool ShowDiv { get; set; }
}
这是父视图中的代码,它将信息传递给局部视图:

@Html.Partial("_ABCPartialView", new YourModel { ShowDiv = false });
在局部视图中,检查该属性并执行需要执行的操作

@if ((bool)Model.ShowDiv)
{
    <div>
         //some dynamic stuff
    </div>
}
@if((bool)Model.ShowDiv)
{
//一些充满活力的东西
}

局部视图可以像常规视图一样具有模型。此外,通过模型,您可以获得编译器帮助和智能,因此您不必担心拼写错误。

它仍然呈现两个
s。可能是什么问题?尝试使用另一个重载的
Partial
方法。查看我的EditsName结果,主视图呈现整个局部视图。是否将
true
false
传递给参数?如果要隐藏,则必须传递
false
:)我要隐藏第一个div并显示第二个div,然后我应该做什么?它仍然会呈现两个
s。可能是什么问题?尝试使用另一个重载的
Partial
方法。查看我的EditsName结果,主视图呈现整个局部视图。是否将
true
false
传递给参数?如果要隐藏,必须传递
false
:)我要隐藏第一个div并显示第二个div,那么我应该做什么?在分部方法中
ShowDiv
是什么?哪个是
?我对你的答案投了赞成票,但因为你的答案排在第二位,所以我不能接受它作为答案,尽管它是一个完美的答案。不用担心。我的意图是显示您可以将其视为常规视图,并将模型传递给具有所需属性的局部。另外,请注意,部分视图模型可以是父视图模型的属性。部分方法中的
ShowDiv
是什么?哪个是
?我对你的答案投了赞成票,但因为你的答案排在第二位,所以我不能接受它作为答案,尽管它是一个完美的答案。不用担心。我的意图是显示您可以将其视为常规视图,并将模型传递给具有所需属性的局部。并且请注意,部分视图模型不能是父视图模型的属性。