我需要帮助我正在为我的雇主做的一个项目,但是我和MVC一起工作已经很长时间了,我是这里唯一的后端人员而且我是实习生,所以嘿......
当我想创建产品时。我需要有一个下拉列表,其中包含所有客户的列表(甚至可能订购A - Z)
我做错了什么,我没看到什么。到目前为止我的结果就是它输出了Object。我真的不知道如何在不使用Foreach的情况下获取customer.Name,这在DropdownList中最终会变得奇怪
atm它看起来像这样
@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);
}
答案 0 :(得分:0)
您需要将List转换为SelectList()。试试这个
@Html.DropDownList("Kunder", Model.customer.Select(x => new SelectListItem() { Text = x.Name.ToString(), Value = x.CustomerId.ToString() }).ToList(), "Välj kund")