我的程序包含以下模型:
public class PlayToy {
public int PlayToyID {get;set;}
public string Name {get;set;}
public bool Available {get;set;}
}
在我的控制器中我有:
Viewbag.PlayToyID = new SelectList(db.PlayToys, "PlayToyID", "Name");
这是视图
<div class="editor-label">
@Html.LabelFor(model => model.PlayToy
</div>
<div class="editor-field">
@Html.DropDownList("PlayToyID", "Choose a Toy")
@Html.ValidationMessageFor(model => model.PlayToyID)
</div>
这适用于显示列表中所有玩具的下拉列表,但我想 仅显示“可用&#39;的项目”。玩。
我是MVC的新手,所以我不知道AJAX或任何其他Scripting语言要集成到MVC中。所以我想知道如何使用MVC这样做,并且过滤列表的代码会进入控制器还是视图?
答案 0 :(得分:0)
使用LINQ使用Where()
运算符
Viewbag.PlayToyID = newSelectList(db.PlayToys.Where(x=>x.Available).ToList(), "PlayToyID", "Name");
我建议您阅读LINQ以及如何将其应用于列表并在Entity Framework等内容中使用。它是.NET工具包中用于过滤,排序,分组,排序等的极其强大的工具。