在我的控制器中,我有:
[AcceptVerbs("GET", "POST")]
public List<BuzzMonitor.Web.Message> Search(string text, DateTime dateFrom, DateTime dateTo, List<int> themeIds, List<int> sourceIds)
{...}
并且我想进行模型绑定。基本类型很容易,但是当我有基本类型列表时该怎么办?
我是在Global.asax中这样做的:
GlobalConfiguration.Configuration.Routes.MapHttpRoute("SearchWithParameters", "api/{controller}/{action}/{text}/{dateFrom}/{dateTo}/?/?"
但我不知道该为清单设置什么...
我在某个网站上发现可以在列表前添加[ModelBinder],但是当我这样做时,该单词上仅带有红色下划线。
有谁知道如何做?
根据您的描述,您似乎找到了这篇文章或类似的文章
http://lostechies.com/keithdahlby/2012/10/04/asp-net-web-api-list-parameter-binding/
建议您使用ModelBinder属性。如果您可以使用它,我仍然建议采用这种方式。您描述的红色下划线听起来可能没有适当的参考。请确保您的类中具有适当的引用来访问该属性,在这种情况下,它看起来像System.Web.Http.ModelBinding
如果失败,您将可能无法使用模型绑定。从第一篇文章开始
Web API only uses model binding for “simple types”
您还可以查看使用JSON Formatter或类似格式,这并不难,并且可以轻松地使用格式正确的JSON支持List结构。
这是一篇很棒的介绍性文章
http://www.hanselman.com/blog/OneASPNETMakingJSONWebAPIsWithASPNETMVC4BetaAndASPNETWebAPI.aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句