【发布时间】:2015-02-11 18:17:25
【问题描述】:
我正在开发一个 MVC 5 剃须刀页面(使用 Entity Framework 6),该页面将显示供应商信息。每个供应商可以有多个类,每个类可以有多个子类。我想要做的是在顶部显示供应商信息,在该信息下方显示类列表,然后在第三部分显示所选类的子类列表。我的问题是最好的方法是什么?
目前我正在尝试通过主页面传递类型 vendor 的模型,然后在该页面中通过 @Html.Action("ActionName", "ControllerName", value) 显示两个部分视图。当页面加载没有问题时,我可以将供应商的 ID 传递给类列表部分视图,真正的问题是弄清楚如何将选定的类 ID 传递给子类的部分视图。我尝试过使用隐藏字段,但我不确定如何将隐藏字段的值传递给 html.Action。
这是我的第一个 MVC 应用程序,因此非常感谢任何帮助。
【问题讨论】:
-
当您将模型传递给视图时,您的模型是否完全填充(每个类和子类)?并且是用于编辑数据的视图(即表单)?
-
传递给视图的模型包含一个供应商对象。由于我使用的是实体框架,因此 vendor 对象有一个 vendor.VendorClasses 属性,它允许我在类中执行 foreach 循环。然而,vendor 对象对它的子类一无所知。是的,理想情况下,视图将允许用户更新供应商信息并添加/删除类和子类。
-
如果您的编辑,使用部分不是最好的选择,因为它不会(默认情况下)正确呈现您的控件。最好在主视图中使用
for循环或使用自定义EditorTemplates。你可以为Vendor及其子类发布你的模型
标签: razor asp.net-mvc-5 entity-framework-6 partial-views html-helper