填充<;选择>;具有动态列表
本文关键字:动态 列表 选择 lt 填充 gt | 更新日期: 2023-09-27 18:25:45
我正在制作一个显示动态数据的MVC 4网站。我有一个搜索功能,他们可以在输入框中输入Id,只查看与该Id相关的信息。我想通过使用<select>
列表来限制搜索功能,这样只能选择有效的选项。
这是我写的代码:
<select>
@foreach (var item in Model)
{
<option value='@Html.ValueFor(modelItem => item.ResponseIdentifier)'></option>
}
</select>
我只是想获取Id,并将其用作选择列表中的下拉值。然而,我得到的只是下拉列表中的空白。
我是web编程的新手,对MVC不是很熟悉。我尝试了其他几种方法来获取值,但都不起作用。如果有人有什么建议,那就太好了。谢谢Stack Overflowers!:)
您必须设置select
html控件的value
和text
。sintaxe是:
<option value='your value'>text</option>
试试这样的东西:
<select>
@foreach (var item in Model)
{
<option value='@item.ResponseIdentifier'>@item.ResponseIdentifier</option>
}
</select>
或者,在我看来更好。你在控制器上的操作,你可以在ViewBag
上定义一个键来填充下拉列表,例如:
ViewBag.Cities = new SelectList(new[]
{
new { Id = "1", Name = "New York" },
new { Id = "2", Name = "São Paulo" },
new { Id = "3", Name = "London" },
}, "Id", "Name");
为了填充这个ViewBag,它可以来自任何地方的数据库或xml文件。在您的视图中,您可以使用ViewBag上的此项目来使用Html
助手填写DropDownList,例如:
@Html.DropDownList("City", (IEnumerable<SelectListItem>)ViewBag.Cities, new { style = "max-width: 600px;" })
我想您正在搜索的内容已经在中讨论过了这个线程
<select>
@foreach (var item in Model)
{
<option value="@item.ResponseIdentifier"></option>
}
</select>
应该工作