【发布时间】:2021-09-25 15:23:32
【问题描述】:
这里是 Asp.Net Core/Razor 的新手。
我正在构建一个 Asp.Net Core Razor 页面。 我有一个作为父页面的主要 Razor 页面。 我有一组子页面(超过 20 种不同的子页面)。
我希望能够有条件地包含子页面 基于父页面视图模型中的标识符。
我的父 Razor 页面的基本简化版本如下所示:
@model DocumentsViewModel
<div>
<!-- Some basic common form functionality--!>
</div>
<div class="WhereToEmbedChildForm">
@Html.Partial("SomeChildViewName")
@{ Html.RenderPartial("SomeChildViewName"); }
@{<partial name="SomeChildViewName" for="CurrentDocumentTypeViewModel"/>}
</div>
我的父页面视图模型如下所示:
public class SampleModel
{
public int ChildViewType { get; set; }
public string ChildViewModelName { get; set; }
}
为此,我有一些问题:
-
是否可以动态创建我的 ViewModel 对象 (DynamicObject) 以包含 孩子的视图模型?
-
如何在我的父页面中动态包含子视图(和关联的视图模型)?
-
我应该使用还是 @Html.Partial()/@{Html.RenderPartial} ?
-
鉴于 Razor,是否有可能做我正在尝试的事情?
【问题讨论】:
-
嗨,约翰。试图在之前的聊天中与您取得联系。我在那里写的是,您应该考虑注册活页夹,而不是注释很多类,就像我在发送给您的答案中显示的那样。您可能还想看看在您的控制器方法中使用 IFormCollection 作为替代方案。 BR
标签: .net asp.net-core razor