好的,所以我花了很多时间试图弄清楚如何为过滤器做一个下拉菜单。现在我有两个过滤器作为文本框,但我想要一个下拉列表,因为我会添加更多的过滤器。
这是我的索引页:
任务列表
<ul>
<% using (Html.BeginForm("Index", "Task"))
{%>
<fieldset>
<legend>Filters</legend>
Date Range: From
<%: Html.TextBox("StartDT") %>
To
<%: Html.TextBox("EndDT") %> <br />
<%: Html.DropDownList("ClientName", "PhysicianName") %>
<input type="submit" name="Filter" value="Filter" />
<input type="submit" name="ClearFilter" value="Clear Filter" />
</fieldset>
<% } %>
</ul>
这是我在模型中所做的更改:
public class FilterViewModel
{
public PapClientProfile Client { get; set; }
public PapStaff Physician { get; set; }
public IEnumerable<SelectListItem> ClientName { get; set; }
public IEnumerable<SelectListItem> PhysicianName { get; set; }
}
这是我所做的更改:
[AcceptVerbs(HttpVerbs.Get)]
public ViewResult Edit()
{
var model = new FilterViewModel { PossibleValues = PapClientProfile("ClientName"), PapStaff ("PhysicianName") };
}
但我无法填充任何下拉值。有人可以帮忙吗?
谢谢
最佳答案
像这样尝试:
[HttpGet]
public ActionResult Edit()
{
var model = new FilterViewModel
{
PossibleValues = new[]
{
new SelectListItem { Value = "1", Text = "value 1" },
new SelectListItem { Value = "2", Text = "value 2" },
new SelectListItem { Value = "3", Text = "value 3" },
}
};
return View(model);
}
然后在您的强类型 View 中:
<%: Html.DropDownListFor(
x => x.Physician.PhysicianName,
new SelectList(Model.PossibleValues, "Value", "Text")
) %>
关于c# - ASP.NET MVC 下拉列表不会填充结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5132030/