【发布时间】:2013-12-31 11:11:45
【问题描述】:
也许我没有抓住重点,但我想从 Web API 控制器的 MVC 视图中检索一些下拉列表的数据。
我想简单地构建这样的东西:
API 控制器:
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
}
public class ListController : ApiController
{
public IEnumerable<Foo> GetFoos()
{
return new List<Foo>( new[]
{
new Foo()
{
Id = 1,
Name = "Foo 1"
},
new Foo()
{
Id = 3,
Name = "Foo 3"
}
});
}
}
所以,在我看来,我正在尝试像这样使用 Html 扩展助手:
@Html.DropDownList("FooId", new SelectList(Html.Action("GetFoos","api/List")))
嗯,很明显,这给了我错误:
'System.Web.Mvc.SelectList.SelectList(System.Collections.IEnumerable)' 的最佳重载方法匹配有一些无效参数
但我似乎找不到合适的方法来做到这一点。
有可能吗?还是我需要使用 JQuery 进行 AJAX 调用?
(ps。我知道在处理视图到服务器调用时会影响性能。这只会让我现在的生活更轻松一些)
提前致谢。
【问题讨论】:
-
我建议你使用 Select2.js (ivaynberg.github.io/select2)。它是高度可配置的,能够从远程源获取数据,还允许您格式化几乎所有与外观有关的内容。
标签: c# .net asp.net-mvc asp.net-mvc-4 asp.net-web-api