2011-12-02 335 views
0

我使用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> 

回答

1

如果我理解正確的,你想要的下拉列表中已選擇的而不是名單上的第一個項目保存項目。如果是這樣,請參閱this answer

你也可以檢查these constructors

public SelectList(IEnumerable items, Object selectedValue) 
public SelectList(IEnumerable items, string dataValueField, string dataTextField, Object selectedValue)