好的,我有一个强类型为 MyObject 集合的 View
@model IEnumerable<ViewModels.MyObject>
我遍历集合以创建对象列表。
在同一页面上,我需要创建表单以添加新的 MyObject。
有没有办法在 lambda 表达式中使用 Html 助手来创建从我的模型中强类型化的元素?
或者最好将此页面的表单部分作为另一个部分 View 加载为 MyObject(不是集合)?
最佳答案
您可以创建具有两个 View 模型作为属性的 View 模型:
class ListCreateViewModel {
ListViewModel ListViewModel { get; set; }
CreateViewModel CreateViewModel { get; set; }
}
那你可以用
Html.RenderPartial("Create", Model.CreateViewModel);
您的部分将以
CreateViewModel
作为模型。您还可以制作完全独立的 View 和模型并调用:
Html.RenderAction("Create", "Controller");
RenderAction
表现为新的请求, View 在不同的上下文中呈现。