【发布时间】:2017-03-03 17:27:18
【问题描述】:
我的模型看起来像这样。它会在某个时候通过存储过程填充项目。
public class myModel
{
public List<SelectListItem> myList { get; set; }
public List<myModel> modelList { get; set; }
}
这是我的控制器。
[HttpGet]
public ActionResult getMyListItems()
{
var viewModel = new myModel();
viewModel.myList = viewModel.getMyList();
viewModel.modelList = viewModel.getMyModelList();
return View(viewModel);
}
到目前为止,这是我的观点。我正在构建一个下拉列表,以便用户可以过滤 modelList 的内容。有点像 SQL 查询中的 WHERE 子句。一旦用户选择项目并单击提交按钮,它会应用过滤器吗?或者在不需要按钮点击事件的情况下,在下拉菜单中实际选择了一个项目后会发生这种情况吗?
@model SWAM2.Models.EmployeeOfcSpecKnow
@using CommonCode.HtmlHelpers;
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="editor-label">
Filter by Column1
</div>
<div class="editor-field">
@Html.DropDownListFor(model => Model.Column1, Model.myList, new { style = "width:400px" })
@Html.ValidationMessageFor(model => model.Column1)
</div>
<div class="toppad10">
<input type="submit" value="Apply Filter" />
</div>
<table class="grayTable rowStriping">
<thead>
<tr>
<th>Column1</th>
<th>Column2</th>
<th>Column3</th>
</tr>
</thead>
<tbody>
@foreach (var item in @Model.modelList)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Column1)
</td>
<td>
@Html.DisplayFor(modelItem => item.Column2)
</td>
<td>
@Html.DisplayFor(modelItem => item.Column3)
</td>
</tr>
}
</tbody>
</table>
}
【问题讨论】:
标签: asp.net asp.net-mvc-4 drop-down-menu html.dropdownlistfor