【发布时间】:2020-10-14 11:35:44
【问题描述】:
我有一个 ASP.net MVC Core 2(如果需要可以升级到 3)网络应用程序。
有几个不同的类,房东、租户、承包商 - 它们每个都有一个地址对象和其他不同的属性。
我有一个从每个视图传递地址对象的局部视图。
<partial name="_AddressPartial" , model="@Model" />
这很好用。但是当表单发布时,每个地址字段都是平铺的,因为地址的名称是“Street”之类的东西,而不是“Address.Street”——因为地址模型被传递给部分。所以模型绑定器正在寻找“街道”等,而不是作为地址对象的一部分。
我可以从部分所在的每个页面传递对象,并添加前缀“地址”。到每个字段名称,但房东、承包商、租户等都是不同的类,所以我需要每页有一个不同的部分,这违背了这一点。
我也许可以使用带地址的基类,然后从中派生所有其他类,并将基类绑定到部分?但这似乎只是为了获得部分工作。
我可以将 Address 对象展平到每个 ViewModel 中——尽管这样在写入数据库时会产生更多的工作(你不能只向 Dapper 传递一个 Address 模型,你必须手动编写一些 SQL 来进行更新) ,并产生大量重复。
如何在所有页面之间重复使用部分,保持干燥,并避免列出的问题。
我已经用谷歌搜索过了,以上就是我能找到的所有内容。我错过了什么吗?
【问题讨论】:
标签: asp.net-core asp.net-core-mvc asp.net-core-2.0 asp.net-core-3.1 asp.net-core-mvc-2.0