c# - 如何将项目附加到绑定列表?
问题描述
我有以下型号:
class Order
{
public List<Product> Products { get; set; }
}
class Products
{
public int Price { get; set; }
}
在我的剃须刀页面中,我想遍历所有产品并能够将它们添加到我的订单中,如下所示:
int i = 0;
foreach (Product p in AllProducts)
{
<input asp-for="order.Products[i].Price">
i++;
}
这在创建新订单时效果很好(当列表 pf 产品为空时),但是当我尝试编辑订单,并且可能添加新产品或编辑现有产品时,我遇到了Index was out of range.
异常。显然是因为其中的产品AllProducts
比订单Products
列表中的产品多。
有没有办法克服这个问题?
解决方案
我们可以通过更新代码来做到这一点。我认为解决了问题。问题出在 foreach 循环中。
int i = 0;
foreach (Product p in AllProducts)
{
<input asp-for="AllProducts[i].Price">
i++;
}
尽管如此,您仍然面临这个问题,请分享剃刀观点。
推荐阅读
- vue.js - 滚动条优化 vuejs
- c++ - 枚举是 C++ 中的宏还是整数变量?
- r - 如何将此字符串分成多列?
- ios - 适用于 iOS 的 Swift5 状态栏颜色 - 保持电池、信号指示灯的白色
- unit-testing - 测试具有 vuex 的 vue 组件
- android - 如何使用 Markdown 链接创建 textView 或 webview?
- c - 变量类型如何影响 C 中的指针算术工作?
- java - 使用外部身份验证源时如何在 Spring Boot 中模拟身份验证
- jquery - 从 VB.NET windows 应用程序在 Web 浏览器中调用或执行 JQuery 脚本
- docker - 基于 Golang 的 docker 镜像构建工作,但不是基于 Scratch 的镜像