gpt4 book ai didi

c# - 如何从 Controller MVC3 动态添加代码(或标记)到 View 代码

转载 作者:太空宇宙 更新时间:2023-11-03 22:06:55 24 4
gpt4 key购买 nike

在我的 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>
}
}

关于c# - 如何从 Controller MVC3 动态添加代码(或标记)到 View 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8106919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com