回答
我走赃物在这里,但它听起来像是你有一个从数据库未来对象的集合(为参数的缘故,让我们说员工)和你想有一个下拉将填充与该集合中的一个字段。你可以用Linq来完成。
var emps = from e in db.Employees
select e;
var ddlSource = emps.Select(x =>
new ListItem {
Text = x.LastName + ", " + x.FirstName,
Value = x.ID
};
然后你可以绑定你的DropDownList到ddlSource
IQueryable。
这正是我正在做的 - 当我做选择我回来,说3条记录,我仍然希望所有记录可用列表中,但有第一个'找到'记录作为列表中选定的项目 - 如果这是有道理的..... – DarkW1nter
这听起来好像你有2个独立的来源。一个匹配过滤标准,一个是所有可能性列表。如果记录数量不是很大,则可以在原始查询之后执行过滤器,这种方式可以基于较大的查询来下拉,但您的过滤结果可以单独应用。 –
那么,它需要2个数据源呢?除了例如在MS Access中执行此操作,您将根据查询获取下拉列表,然后运行DLookup(),并且下拉菜单中的值将是该操作的结果,但如果您单击它,则原始来源还在吗? – DarkW1nter
我想你已经选择了数据库中的项目,并希望在填充下拉列表时选择它。考虑例如
视图模型
public class TestVM
{
public int CategoryId { get; set; }
public IEnumerable<SelectListItem> Categories { get; set; }
}
下方。在控制器
public ActionResult Index()
{
TestVM objTestVM = new TestVM();
objTestVM.Categories = new List<SelectListItem>() {
new SelectListItem() { Value="1", Text="Food"},
new SelectListItem() { Value="2", Text="Movie"}
};
objTestVM.CategoryId = 2;//get this value from DB
return View(objTestVM);
}
在View
@model MvcApplication4.Models.TestVM
@using(Html.BeginForm())
{
@Html.DropDownListFor(m => m.CategoryId, Model.Categories, "--select--")
<input type="submit" value="submit" />
}
现在自动在其值为2在这种情况下,下拉选择类别。如果选择了其他类别并提交该页面,则新的类别标识将被发回到控制器后操作。
- 1. asp.net下拉列表
- 2. ASP.NET - 下拉列表
- 3. asp.net下拉列表
- 4. CustomControl(下拉列表)在asp.net
- 5. ASP.Net下拉列表生成
- 6. ASP.NET下拉列表问题
- 7. 动态下拉列表,ASP.NET
- 8. ASP.net MVC 4下拉列表
- 9. 下拉列表在asp.net
- 10. asp.net下拉列表错误
- 11. asp.net下拉列表和GridView
- 12. asp.net下拉列表问题?
- 13. 替代ASP.NET下拉列表
- 14. ASP.Net动态下拉列表
- 15. asp.net下拉列表findbytext
- 16. ASP.NET MVC下拉列表
- 17. ASP.Net 4下拉列表
- 18. ASP.Net MVC 3下拉列表
- 19. Asp.NET下拉列表方向
- 20. Asp.net动态下拉列表
- 21. asp.net下拉列表值
- 22. 在ASP.NET中下拉列表
- 23. ASP.NET Mvc下拉列表?
- 24. asp.net中的下拉列表
- 25. ASP.NET AcessDataSource和下拉列表
- 26. ASP.Net GridView与下拉列表
- 27. Asp.net下拉列表问题
- 28. ASP.net Gridview Itemtemplate下拉列表
- 29. ASP.NET MVC下拉列表
- 30. 下拉列表中的下拉列表
这是一个问题,用文本框替换下拉菜单。如果是这样,这取决于要求。 – Sunny
您可以将查询结果作为字典缓存在会话/应用程序状态中,但我不确定这是否是您要求的。 – mcknz