微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取多个列表并将其显示在视图中

如何解决获取多个列表并将其显示在视图中

我有一个这样的系统,我可以这样输入 other 员工经销商信息(存在更多字段,但尝试保留很简单)。

+----+---------+--------------+------------+-------+
| ID |  itemId | memberTypeId | MemberType | price |
+----+---------+--------------+------------+-------+
|  1 |     202 |            2 | employee   |  2.00 |
|  2 |     202 |            3 | dealer     |  3.00 |
|  3 |     101 |            1 | other      |  4.00 |
+----+---------+--------------+------------+-------+

我正在尝试在我的网站上进行更新功能。当我基于ItemId进行数据库调用获取所有内容时。

以下是帮助程序类中的此类代码

public class Item { 
 public static List<ItemOption> GetItemOpttions(long itemID)
 {           
  using (DBContext context = new DBContext())
  {
    List<ItemOptionDTO> ItemOptionsDto = (
        from I in context.ItemOptions
        where I.ItemID == itemID
        select new ItemOptionDTO
        {
            ItemID = I.ItemID,MemberTypeId = I.MemberTypeId
            MemberType = I.MemberType,Price = I.Price,}).ToList();           

    return ItemOptionsDto;
  }
 }
}

因此,当我获取数据并将其存储在列表中时。根据保存方式,它可以是一行数据,也可以是两行。选项“其他”将始终作为一行数据保存到数据库中,而“员工和经销商”将被另存为共享同一ItemId的两行。调用时,行数会根据在较早的日期/时间创建的每个项目而有所不同。

我正在尝试将此信息返回给控制器,并将其发送到显示可能会更新的正确值的View。这是我在控制器中拥有的东西。我不确定这是否是正确的方法,或者是否有更好的方法

还要补充一点,如果该物料另存为雇员和经销商,它将其他列表保留为空/空。我认为无法执行此操作,因为它会导致 null异常错误

这是我到目前为止在控制器中拥有的东西:

public ActionResult UpdateItem(long itemID) {
 List<ItemOptionDTO> itemOptionDto = Item.GetItemOpttions(itemID);

  var other = itemOptionDto.Where(x => x.MemberTypeId == 1).FirstOrDefault();
  var employee = itemOptionDto.Where(x => x.MemberTypeId == 2).FirstOrDefault();
  var dealer = itemOptionDto.Where(x => x.MemberTypeId == 3).FirstOrDefault();

  UpdateItemviewmodel viewmodel = new UpdateItemviewmodel(itemID,employee,dealer,option)
   {
    ItemId = option.ItemId,MemberType = option.MemberType,Price = other.price

    ItemId = employee.ItemId,MemberType = employee.MemberType,Price = employee.price

    ItemId = dealer.ItemId,MemberType = dealer.MemberType,Price = dealer.price
   };

    return View(viewmodel);
}

让我知道我还有什么可以提供的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。