MVC 下拉列表,获取数据

本文关键字:数据 获取 下拉列表 MVC | 更新日期: 2023-09-27 18:36:49

我需要帮助为我的雇主做一个项目,但自从我与 MVC 合作以来已经有很长时间了,我是这里唯一的后端人员,我是实习生,所以呵呵。

当我想创建一个产品时。我需要有一个包含所有客户列表的下拉列表(甚至可能订购了 A - Z)

我做错了什么,我没有看到什么。到目前为止,我的结果只是它键入了对象。我真的不知道如何获得客户。不使用Foreach的名称,

最终在下拉列表中变得奇怪

自动取款机看起来像这样

@model Co56_Invoice_.Models.Collection
<h2>Skapa ny produkt</h2>
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    <div class="form-horizontal">
        <h4>Product</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        <div class="form-group">
            <div class="col-md-10">
                     @Html.DropDownList("Kunder", new SelectList(Model.customer), "Välj kund")
            </div>
         </div>
     </div>
}

集合类是客户和产品的列表

public class Collection
{
    public List<Customer> customer { get; set; }
    public List<Product> product { get; set; }
}

这是我的创建产品操作

public ActionResult Create()
    {
        col.customer = (from o in db.Customers select o).ToList();
        return View(col);
    }
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "CustomerID,ProductID,Name,StartDate,Interval,Price,YearPrice,TotalPrice,Category,Paid")] Product product)
    {
        try
        {
            if (ModelState.IsValid)
            {
                db.Products.Add(product);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
        }
        catch(Exception e)
        {
            throw e.InnerException;
        }
        return View(product);
    }

MVC 下拉列表,获取数据

你需要将你的 List 转换为 SelectList()。试试这个

@Html.DropDownList("Kunder", Model.customer.Select(x => new SelectListItem() { Text = x.Name.ToString(), Value = x.CustomerId.ToString() }).ToList(), "Välj kund")