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