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);
}
你需要将你的 List 转换为 SelectList()。试试这个
@Html.DropDownList("Kunder", Model.customer.Select(x => new SelectListItem() { Text = x.Name.ToString(), Value = x.CustomerId.ToString() }).ToList(), "Välj kund")