2016-07-22 39 views
-1

這是我的索引視圖。我嘗試使用ViewBag,但它不起作用,也許是因爲我想從外鍵獲取值。我是ASP.NET新手。如何把不同的值放入選擇控件MVC ASP.NET?

<form id="forma" action="/InspekcijskeKontrole/VratiKontrole" method="get"> 
<div class="form-group"> 
    <label for="Select1">Odaberite inspekcijsko tijelo:</label> 
    <select name="Select1" id="Select1" class="form-control" onchange="sacuvaj()"> 
     <option value="-1">Selektujte inspekcijsko tijelo:</option> 
     @foreach (var i in ViewBag.Select1) { 
      <option value="@i.Value">@i.Text</option> 
     } 
    </select><br /> 
    <label for="Select2">Odaberite vremenski period kontrole:</label> 
    <select name="Select2" id="Select2" class="form-control" onchange="sacuvaj1()"> 
     <option value="-1">Selektujte vremenski period kontrole:</option> 
     @foreach(var i in Model) 
     { 
      <option value="@i.DatumInspekcijskeKontrole.ToString("dd.MM.yyyy")">@i.DatumInspekcijskeKontrole.ToString("dd.MM.yyyy")</option> 
     } 
    </select> 
</div> 

這是我的控制器

public ActionResult VratiKontrole(int Select1, string Select2) 
    { 

     IEnumerable<string> tijelaNaziv = db.InspekcijskaKontrolas.OrderBy(i => i.InspekcijskoTijelo.NazivInspekcijskogTijela).Select(i => i.InspekcijskoTijelo.NazivInspekcijskogTijela).Distinct(); 
     ViewBag.Select1 = new SelectList(tijelaNaziv); 


     IQueryable<InspekcijskaKontrola> listaKontrola = db.InspekcijskaKontrolas.Select(i => i); 

     if (!string.IsNullOrEmpty(Select1.ToString())&&!string.IsNullOrEmpty(Select2.ToString())) 
     { 
      string[] parts = Select2.Split('.'); 
      DateTime datum = new DateTime(int.Parse(parts[2]), int.Parse(parts[1]), int.Parse(parts[0])); 
      listaKontrola = listaKontrola.Where(l => l.InspekcijskoTijeloId == Select1).Where(l => l.DatumInspekcijskeKontrole == datum).Select(l => l); 
     } 

     return View(listaKontrola.ToList()); 

    } 
+0

您正在調用'Distinct()'。這不是給你獨特的價值嗎?你真正的問題是什麼?是否有一個特定的原因,你沒有使用Html.DropDownListFor輔助方法? – Shyju

+0

不,我剛剛得到錯誤空引用也許是因爲這是外鍵? – Jhony2

+0

你得到空引用哪一行?請在問題本身中包含相關細節。 – Shyju

回答

0

(發佈代表OP)的

這已解決。我只是放在視圖中:

@foreach (var i in Model.Select(i=>i.InspekcijskoTijelo).Distinct()) { 
    <option value="@i.InspekcijskoTijeloId">@i.NazivInspekcijskogTijela</option> 
}