我有一个包含约3个项目的表格。我希望使用该表填充Dropdown List
。但我有一个条件,我想只显示下拉列表中的2个项目。如何做呢?使用数据库表项目填充下拉列表
0
A
回答
0
你可以使用一个视图模型:
public class MyViewModel
{
public string SelectedItemId { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
再取前2项(很明显,如果你的要求是基于一定条件下采取一些其他2项你可以连锁企业,在.Where()
扩展方法为了调用.Take()
前先过滤):
public ActionResult Index()
{
var model = new MyViewModel();
model.Items = db.Items.Take(2).ToList().Select(x => new SelectListItem
{
Value = x.Id,
Text = x.SomeText
});
return View(model);
}
的看法是标准的东西,只需打电话到DropDownListFor帮手:
@model MyViewModel
@Html.DropDownListFor(x => x.SelectedItemId, Model.Items)
+0
我遇到了问题。该视图与另一个模型强烈类型。我现在怎么做? – nebula 2012-07-13 17:02:26
+0
然后,您只需将已显示的两个属性('SelectedItemId'和'Items')添加到您的视图模型中。现在如果你告诉我这个视图模型是你无法修改的,因为它是一个自动生成的EF类,我告诉你,将域模型传递给你的视图是非常糟糕的做法,你应该使用视图模型。因此,在这种情况下,您可以定义一个包装视图模型,除了我在答案中显示的两个属性外,还可以将您的域模型封装为一个属性。 – 2012-07-13 17:24:03
相关问题
- 1. 从数据库填充下拉列表
- 2. 使用数据库列表填充下拉列表
- 3. 使用选择下拉列表(从数据库)填充表
- 4. 使用数据库表名称填充下拉列表
- 5. C#使用所选项目从数据库填充下拉列表
- 6. 根据下拉选项填充列表
- 7. 使用数组填充下拉列表
- 8. 如何使用jstl从数据库填充下拉列表?
- 9. 使用数据库查询结果填充下拉列表
- 10. 使用下拉列表填充sql数据库
- 11. 由数据库填充的PHP下拉列表使用javascript
- 12. 使用数据库值填充下拉列表
- 13. Laravel 4用2个数据库列填充下拉列表?
- 14. 从其他列表项目共享点填充下拉列表
- 15. 从数据库填充JQGrid编辑表单下拉列表
- 16. 从数据库表中填充选择下拉列表
- 17. 使用SQL表上的数据填充下拉列表?
- 18. 如何使用列表中的数据填充下拉表格?
- 19. 使用Phonegap api从android数据表中填充下拉列表?
- 20. 使用sql数据库项目填充列表视图
- 21. 当数据库中没有数据时填充下拉列表
- 22. PHP填充下拉列表,onchange根据值填充不同的下拉列表
- 23. 如何使用Rails 4中的数据库条目填充下拉列表
- 24. Mysql根据另一个下拉选项填充下拉列表
- 25. 填充下拉列表 - 避免多个数据库调用
- 26. 用数据库中的值填充下拉列表 - MVC4
- 27. 从ajax数据库调用填充下拉列表
- 28. 与表列表填充下拉列表
- 29. 下拉列表的填充选项
- 30. 从数据库的两列填充下拉列表
条件是什么?哪两项你想展示?顶2? – Shyju 2012-07-13 16:44:00
不是顶部2.我必须对同一个表使用多个下拉菜单,但在某些视图中,所有表项都不是必需的。 – nebula 2012-07-13 16:51:07
检查Darin的答案。您可能需要更改Where子句以根据您的条件获取2个项目 – Shyju 2012-07-13 16:53:00