C# 向成员列表添加值
我想用mvc创建一个购物网站,它有一个C# 向成员列表添加值,c#,asp.net-mvc,C#,Asp.net Mvc,我想用mvc创建一个购物网站,它有一个IdProductName价格和数量。因此,我只需为产品创建一个模型,该产品具有IdProduct名称价格,数量将在我在web中输入时添加。在控制器中,我只是创建一个列表来设置模型的值。但当我添加数量的值时,该值只是生成了一个新列表。 如何向列表中的一个成员添加数量值 Barang listBarang = new Barang(); if (TempData.Peek("daftarBarang") == null) { List<Baran
IdProduct
Name
价格
和数量
。因此,我只需为产品创建一个模型,该产品具有IdProduct
名称
价格
,数量将在我在web中输入时添加。在控制器中,我只是创建一个列表来设置模型的值。但当我添加数量的值时,该值只是生成了一个新列表。
如何向列表中的一个成员添加数量值
Barang listBarang = new Barang();
if (TempData.Peek("daftarBarang") == null)
{
List<Barang> dftrBarang = new List<Barang>
{
new Barang{IdBarang = 1, NamaBarang = "Mouse", HargaBarang = 50000},
new Barang{IdBarang = 2, NamaBarang = "Keyboard", HargaBarang = 100000},
new Barang{IdBarang = 3, NamaBarang = "Monitor", HargaBarang = 2500000},
};
TempData.Add("daftarBarang", dftrBarang);
}
List<Barang> daftarBarang = (List<Barang>)TempData.Peek("daftarBarang");
return View(daftarBarang);```
当我提交数量时,那就是制作一个新的列表。这是错误的
[编辑]视图
<form action="~/tambah" method="post">
<table border="1">
<tr>
<td> Id Barang</td>
<td> Nama Barang</td>
<td> Harga Barang</td>
<td> Quantity</td>
</tr>
@foreach (var item in Model)
{
<tr>
{
<td>@item.IdBarang</td>
<td>@item.NamaBarang</td>
<td>@item.HargaBarang</td>
<td>
<input type="text" name="Quantity" />
</td>
<td>
<input type="submit" value="Submit"/>
</td>
</tr>
}
</table>
</form>
伊德巴朗
纳马巴朗
哈尔加·巴朗
量
@foreach(模型中的var项目)
{
{
@项目1.IdBarang
@项目1.NamaBarang
@项目1.HargaBarang
}
朋友,很抱歉反应太晚了
这是一个示例。希望对您有所帮助:))
//我添加了一个Quantity属性
public class BarangsViewModel
{
public int IdBarang { get; set; }
public string NamaBarang { get; set; }
public double HargaBarang { get; set; }
public int Quantity { get; set; }
}
//控制器
public ActionResult Products()
{
var products = new List<BarangsViewModel>();
for (int i = 1; i < 5; i++)
{
var obj = new BarangsViewModel
{
IdBarang = i,
NamaBarang = $"This is job {i}",
HargaBarang = i
};
products.Add(obj);
}
return View("Products", products);
}
[HttpPost]
public IActionResult Products(List<BarangsViewModel> model)
{
return RedirectToAction("Index");
}
public ActionResult产品()
{
var products=新列表();
对于(int i=1;i<5;i++)
{
var obj=新的BarangsViewModel
{
IdBarang=i,
NamaBarang=$“这是作业{i}”,
哈尔加巴郎=i
};
产品。添加(obj);
}
返回视图(“产品”,产品);
}
[HttpPost]
公共IActionResult产品(列表模型)
{
返回操作(“索引”);
}
//观点
@model List<WebApp.Models.BarangsViewModel>
@{
ViewData["Title"] = "Products";
}
<h1>@ViewData["Title"]</h1>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<table id="mygrid" class="table" border="1">
<thead>
<tr>
<td> Id Barang</td>
<td> Nama Barang</td>
<td> Harga Barang</td>
<td> Quantity</td>
</tr>
</thead>
<tbody id="rodetailrowdata">
@{
for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Model[i].IdBarang
@Html.HiddenFor(model => Model[i].IdBarang)
</td>
<td>
@Model[i].NamaBarang
@Html.HiddenFor(model => Model[i].NamaBarang)
</td>
<td>
@Model[i].HargaBarang
@Html.HiddenFor(model => Model[i].HargaBarang)
</td>
<td>@Html.EditorFor(model => Model[i].Quantity, new {@type ="number" })</td>
</tr>
}
}
</tbody>
</table>
<button type="submit">Submit</button>
}
@型号列表
@{
ViewData[“标题”]=“产品”;
}
@ViewData[“标题”]
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
伊德巴朗
纳马巴朗
哈尔加·巴朗
量
@{
for(int i=0;imodel[i].IdBarang)
@模型[i].纳马巴拉
@Html.HiddenFor(model=>model[i].NamaBarang)
@模型[i].哈尔巴郎
@Html.HiddenFor(model=>model[i].HargaBarang)
@EditorFor(model=>model[i].Quantity,new{@type=“number”})
}
}
提交
}
据我所知,您希望显示产品列表,并且可以编辑数量值,对吗?是的,但我希望数量只添加到列表的成员中。您可以发布您的代码吗?好的,我只编辑帖子。您现在可以看到我有一个问题。为什么不将数量属性添加到Barang类中?
@model List<WebApp.Models.BarangsViewModel>
@{
ViewData["Title"] = "Products";
}
<h1>@ViewData["Title"]</h1>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<table id="mygrid" class="table" border="1">
<thead>
<tr>
<td> Id Barang</td>
<td> Nama Barang</td>
<td> Harga Barang</td>
<td> Quantity</td>
</tr>
</thead>
<tbody id="rodetailrowdata">
@{
for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Model[i].IdBarang
@Html.HiddenFor(model => Model[i].IdBarang)
</td>
<td>
@Model[i].NamaBarang
@Html.HiddenFor(model => Model[i].NamaBarang)
</td>
<td>
@Model[i].HargaBarang
@Html.HiddenFor(model => Model[i].HargaBarang)
</td>
<td>@Html.EditorFor(model => Model[i].Quantity, new {@type ="number" })</td>
</tr>
}
}
</tbody>
</table>
<button type="submit">Submit</button>
}