在我的 Controller 中, View 照常返回
return new View(myModel);
我想要的是向 View 添加一些额外的代码。例如。在特定条件下,将整个 View 标记“包装”在@section 中。比如我的观点是
<h2>@ViewBag.Title</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
在处理完 Controller 的 Action 后,我希望返回的 View 是
@section MySection{
<h2>@ViewBag.Title</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
}
这可能吗?
谢谢
您的 Controller 为 View 注入(inject)标记通常不是一个好主意。
为什么不增强 View 模型以包含原始 View 模型和此条件?
class MyViewModel {
MyModelType MyModel { get; set; }
bool Wrap { get; set; }
}
在 View 中...
@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>
}
}
我是一名优秀的程序员,十分优秀!