【发布时间】:2019-06-03 23:07:31
【问题描述】:
我使用的是 Asp.net core 2.2。在 A 视图中,我想添加两个模型并遍历它们,但我不知道该怎么做。 这是我的 ProductCategory 域模型
public class ProductCategory
{
public int ProductCategoryID { get; set; }
public string ProductCategoryName { get; set; }
}
这是我的产品领域模型
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public int ProductCategoryID{ get; set; }
[ForeignKey("ProductCategoryID")]
public virtual ProductCategory ProductCategory{ get; set; }
}
现在我想将它们添加到一个视图(或一个视图和多个部分视图)中,如下所示:
正如this article 建议的那样,我不想在视图模型/视图中使用域模型。您如何解决这个问题?起初我认为首先 MyView 加载 ProductCategories 然后不同的局部视图加载产品是个好主意。但是这样我应该对每个部分的模型进行硬编码。我想让它动态化,因此当管理员添加类别及其产品时,控制器会将它们动态添加到 MyView。 如果您在理解我的想法时遇到问题,请告诉我按照您的意愿提供您需要的信息。因为我不知道这篇文章的必要信息是什么。
所以当我设计 MyView 时,我可以做这样的事情(只是我想做的一个模拟和抽象的想法。)
@foreach(var p in model.ProductCategory)
{
<div>
<h1>p.ProductTypeName</h1>
@foreach(var c in model.Product)
{
c.ProductName
}
</div>
}
【问题讨论】:
-
首先是 ProductCategories 的列表,然后是每个 productCtegories 的产品列表。
-
在你的模型中有数据库依赖会使得分离应用层变得非常困难。就像提示一样。
标签: c# asp.net asp.net-core