C# 向成员列表添加值

C# 向成员列表添加值,c#,asp.net-mvc,C#,Asp.net Mvc,我想用mvc创建一个购物网站,它有一个IdProductName价格和数量。因此,我只需为产品创建一个模型,该产品具有IdProduct名称价格,数量将在我在web中输入时添加。在控制器中,我只是创建一个列表来设置模型的值。但当我添加数量的值时,该值只是生成了一个新列表。 如何向列表中的一个成员添加数量值 Barang listBarang = new Barang(); if (TempData.Peek("daftarBarang") == null) { List<Baran

我想用mvc创建一个购物网站,它有一个
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>
}