Asp.net core mvc Asp.net核心RazorComponent使用动态<;李></李>;
我正在asp.net核心mvc应用程序中创建RazorComponent 组件中有一个html列表,该列表根据从模型中获取的项目数量动态生成Asp.net core mvc Asp.net核心RazorComponent使用动态<;李></李>;,asp.net-core-mvc,blazor,razor-pages,blazor-webassembly,razor-components,Asp.net Core Mvc,Blazor,Razor Pages,Blazor Webassembly,Razor Components,我正在asp.net核心mvc应用程序中创建RazorComponent 组件中有一个html列表,该列表根据从模型中获取的项目数量动态生成 <ul> @{ foreach (var prod in newProductList) { if (prod.Brand.Equals("1") && prod.Class.Equals("2")) {
<ul>
@{
foreach (var prod in newProductList)
{
if (prod.Brand.Equals("1") && prod.Class.Equals("2"))
{
<li @onclick="(() => AddToSaleList(prod.Product, prod.ProductId, prod.SellRate))">
<div class="posSelected-item">
<span class="posFoodname inline-block"> @prod.Product </span>
<span class="inline-block posSeletedPrice">@prod.SellRate</span>
<span class="posFoodtotal-item inline-block">
<i class="inline-block fas fa-minus" @onclick="() => Quantity(2)"></i>
<span class="posincrementItem">@changeQuaitity</span>
<i class="inline-block fas fa-plus" @onclick="() => Quantity(1)"></i>
</span>
</div>
</li>
}
}
}
</ul>
但是,正如您所看到的,由于增量与参数changeQuantity绑定,因此单击任何加号或减号按钮都会同时更改每个列表项的数量
如何修改代码以识别一个列表项目,并在单击列表上的按钮时仅更改该项目的数量。您需要为每个条目设置一个单独的计数器,因此我建议设置一个我称之为“承运商类别”的类别,以便随每个项目携带数量信息:
class countableProducts {
Product prod {get; set;}
int quantity;
}
在初始化过程中:
foreach (var item in newProductList)
countableProductsList.Add( new countableProduct() { prod = item });
然后在你的循环中
foreach (var item in countableProductsList){
// everything looks like item.prod.(property)
<i class="inline-block fas fa-minus" @onclick="() => item.quantity--;"></i>
<span class="posincrementItem">@item.quantity</span>
<i class="inline-block fas fa-plus" @onclick="() => item.quantity++;"></i>
}
foreach(countableProductsList中的变量项){
//一切看起来都像item.prod.(属性)
@项目.数量
}
如果不编写整个程序,我没有足够的代码来制作一个有效的示例,但希望您能看到我的想法。谢谢您的回答。您和enet的答案都是相同的概念。你先回答的时候我给你打了正确的分数,我给你们两个都投了高票。谢谢。
foreach (var item in countableProductsList){
// everything looks like item.prod.(property)
<i class="inline-block fas fa-minus" @onclick="() => item.quantity--;"></i>
<span class="posincrementItem">@item.quantity</span>
<i class="inline-block fas fa-plus" @onclick="() => item.quantity++;"></i>
}