如何将不同的值放入选择控件MVC ASP.NET?
这是我的索引视图。我尝试使用ViewBag,但它不起作用,可能是因为我想从外键获取值。我是ASP.NET新手如何将不同的值放入选择控件MVC ASP.NET?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,这是我的索引视图。我尝试使用ViewBag,但它不起作用,可能是因为我想从外键获取值。我是ASP.NET新手 <form id="forma" action="/InspekcijskeKontrole/VratiKontrole" method="get"> <div class="form-group"> <label for="Select1">Odaberite inspekcijsko tijelo:</label> &l
<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>
tijelo地区的奥达贝里岩:
蒂耶罗市环境保护局:
@foreach(视图包中的变量i。选择1){
@i、 正文
}
奥达贝里特-维勒曼斯基时期康特罗尔:
塞勒克图伊特·维勒曼斯基时期的康特罗尔:
@foreach(模型中的var i)
{
@i、 Datuminespekcijskekontrole.ToString(“dd.MM.yyyy”)
}
这是我的控制器
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());
}
public ActionResult VratiKontrole(int-Select1,string-Select2)
{
IEnumerable tijelaNaziv=db.InspekcijskaKontrolas.OrderBy(i=>i.inspekcijkotijelo.nazivinpekcijkotijela)。选择(i=>i.inspekcijkotijelo.nazivinpekcijkotijela)。Distinct();
ViewBag.Select1=新选择列表(tijelaNaziv);
IQueryable listaKontrola=db.InspekcijskaKontrolas.Select(i=>i);
如果(!string.IsNullOrEmpty(Select1.ToString())和&!string.IsNullOrEmpty(Select2.ToString())
{
string[]parts=Select2.Split('.');
DateTime数据=新的日期时间(int.Parse(部分[2])、int.Parse(部分[1])、int.Parse(部分[0]);
listaKontrola=listaKontrola.Where(l=>l.InspekcijskoTijeloId==Select1.Where(l=>l.datuminespekcijskontrole==datum.Select(l=>l);
}
返回视图(listakontola.ToList());
}
(代表OP发布)
这个问题解决了。我刚才提到:
@foreach (var i in Model.Select(i=>i.InspekcijskoTijelo).Distinct()) {
<option value="@i.InspekcijskoTijeloId">@i.NazivInspekcijskogTijela</option>
}
@foreach(Model.Select(i=>i.InspekcijskoTijelo).Distinct()中的变量i){
@i、 NazivInspekcijskogTijela
}
您正在调用Distinct()
。这是不是给了你不同的价值观?你真正的问题是什么?您不使用Html.dropdownlistforhelper方法有什么具体原因吗?没有,我只是得到了错误null引用,可能是因为这是外键?哪一行得到了null引用?请在问题本身中包含相关详细信息。在@foreach(ViewBag.Select1中的var i){@i.Text}
ViewBag.Select1I上,我不使用帮助程序,因为我想使用此选择控件进行过滤