在我的控制器中,视图将照常返回
return new View(myModel);
我想要的是在视图中添加一些额外的代码。例如。在一定条件下,将整个视图标记“包装”在@section内。例如,我的观点是
<h2>@ViewBag.Title</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
在处理完控制器的动作后,我希望返回的视图为
@section MySection{
<h2>@ViewBag.Title</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
}
有可能吗?
由于
答案 0 :(得分:4)
您的控制器为视图注入标记通常是个坏主意。
为什么不增强视图模型以包含原始视图模型和此条件?
class MyViewModel {
MyModelType MyModel { get; set; }
bool Wrap { get; set; }
}
在视图中......
@if (!Model.Wrap) {
<h2>@ViewBag.Title</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
}
@section MySection {
@if (Model.Wrap) {
<h2>@ViewBag.Title</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
}
}