【发布时间】:2015-09-18 15:44:14
【问题描述】:
我在几个不同的地方使用特定选择列表的代码。令人讨厌的是,每当我需要更新它正在提取的数据时——我必须在所有不同的地方更新它。所以现在我想创建一个他们都引用的方法并在一个位置更新它。但是,我拥有的代码不起作用。
这是我调用方法放入viewbag的代码:
ViewBag.PrimaryTechnicianId = TechList();
这是我正在创建的方法:
public Action TechList()
{
Var techList = new SelectList(db.Users.Where(u => u.Status == 1 & u.RoleID == new Guid(Properties.Settings.Default.TechID)).OrderBy(u => u.FullName), "UserId", "FullName");
return (techList);
}
我在调用方法(在第一个代码中)时收到错误消息(即使我已经添加了引用)
当前上下文中不存在名称“TicketList”
在返回的第二个代码(techList)中,我收到了这个错误:
无法将类型“System.Web.MVC.SelectList”显式转换为“System.Action”
我发现我可以将方法更改为 IEnumerable,但这似乎与我的用法不同。我是否正确,因为我在 viewbag 中创建了 selectList,它不是 IEnumerable? Cannot implicitly convert type 'System.Web.Mvc.SelectList' to 'System.Collections.Generic.ICollection<System.Web.Mvc.SelectList>'
【问题讨论】:
-
你的方法返回一个
SelectList,所以它必须是public SelectList TechList() { .. }。您遇到的错误与您显示的任何代码无关(您的代码中没有TicketList)
标签: c# asp.net-mvc viewbag selectlist