这是Index操作,可以将可能的Genders填充到ViewBag中,以便稍后进行下拉选择。它还会过滤注入的参数
public ActionResult Index(string gender)
{
ViewBag.Genders = _db.Contacts.Select((x => x.Gender)).Distinct();
var model = _db.Contacts.Where(x => x.Gender == gender || gender == null);
return View(model);
}
如果我只是通过传入女性来使用Actionlink,那么它过滤得很好:
@Html.ActionLink("Show Ladies", "Index", "Contact", new { Gender = "Female"}, null)
然而,通过下拉列表,似乎根本没有反应。我可以看到选择,但按下按钮,没有做任何事情:
@using (Html.BeginForm())
{
@Html.DropDownList("Gender", new SelectList(ViewBag.Genders))
<input type="button" value="Filter"/>
}
我错过了什么?
答案 0 :(得分:0)
对于过滤器按钮,使用<input type="submit" value="Filter"/>
类型的button
实际上不会提交表单。