使用下拉列表编辑表格,显示下拉列表中的值
问题描述:
我使用dropdownlist编辑表格。它正常工作,但当我在editin页面上,在下拉列表中,我看到列表中的第一个值。我想做,我可以看到我在数据库中的价值。恩。我有公司:1,2,3,4,5,当我编辑时,我有默认的公司1.但是在这个产品的数据库是公司4.如果我将编辑在下拉列表中的形式我想defolt显示公司4而不是1. 我希望你明白我心中的想法。使用下拉列表编辑表格,显示下拉列表中的值
控制器:
[HttpGet]
public ActionResult edytuj_prod(int ID_Produkt)
{
var prod = (from d in baza.Produkts
join s in baza.Firmas on d.ID_firma equals s.ID_firma where ID_Produkt == d.ID_Produkt
select new { d.ID_firma, d.nazwa_prod, d.ilosc, d.jednostka, d.cena, d.ID_Produkt, s.nazwa }).First();
var firma = baza.Firmas;
produktModel pr = new produktModel()
{
firmaList = firma.AsEnumerable().Select(x => new SelectListItem
{
Value = x.ID_firma.ToString(),
Text = x.nazwa
})
};
pr.nazwa_prod = prod.nazwa_prod;
pr.ilosc = prod.ilosc;
pr.jednostka = prod.jednostka;
pr.cena = prod.cena;
return View(pr);
查看:
<div class="editor-field">
@Html.DropDownListFor(x => x.ID_firma, Model.firmaList)
</div>
答
如果我理解正确的,你想要的下拉列表中已选择的而不是名单上的第一个项目保存项目。如果是这样,请参阅this answer
你也可以检查these constructors:
public SelectList(IEnumerable items, Object selectedValue)
public SelectList(IEnumerable items, string dataValueField, string dataTextField, Object selectedValue)