我有下拉列表的编辑表单。它工作正常但是当我在editin页面上时,在下拉列表中我看到列表中的第一个值。我想要make,我可以看到我在数据库中的价值。恩。我有公司:1,2,3,4,5,当我编辑我有默认公司1.但在databese这个产品是公司4.如果我将在下拉列表中编辑表格我想要defoult显示公司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>
答案 0 :(得分:1)
如果我理解正确,您希望下拉列表选择已保存的项目而不是列表中的第一项。如果是,请参阅this answer
您也可以查看these constructors:
public SelectList(IEnumerable items, Object selectedValue)
public SelectList(IEnumerable items, string dataValueField, string dataTextField, Object selectedValue)