我有一个部分视图,请说_ABCPartialView
,在我的部分视图中,我有两个<div>
标记,如下所示:
<div>
//some dynamic stuff
</div>
<div>
<img src="blah blah"/>
</div>
是否可以仅在我的主视图中呈现包含<div>
标记的第二个<img>
?
此方法@html.Partial("_ABCPartialView")
呈现部分视图的所有元素。你的想法?
答案 0 :(得分:4)
您可以使用ViewData
为PartialView提供参数。样品:
@Html.Partial("_ABCPartialView", null, new ViewDataDictionary { { "ShowSecondDiv", true } })
在PartialView中,您只需使用:
<div>
<div>
@if ((bool)ViewData["ShowSecondDiv"])
{
<div>
</div>
}
答案 1 :(得分:2)
您可以将模型传递给您的部分,该模型将具有是否执行此操作的属性。例如:
这是模型:
public class YourModel
{
public bool ShowDiv { get; set; }
}
这是父视图中的代码,它将信息传递给您的部分视图:
@Html.Partial("_ABCPartialView", new YourModel { ShowDiv = false });
在部分视图中检查该属性并执行您需要执行的操作。
@if ((bool)Model.ShowDiv)
{
<div>
//some dynamic stuff
</div>
}
部分视图可以像常规视图一样拥有模型。此外,使用模型可以获得编译器帮助和智能,因此您不必担心拼写错误。