Mal*_*iko 4 c# asp.net model-binding asp.net-web-api
在我的控制器中我有:
[AcceptVerbs("GET", "POST")]
public List<BuzzMonitor.Web.Message> Search(string text, DateTime dateFrom, DateTime dateTo, List<int> themeIds, List<int> sourceIds)
{...}
Run Code Online (Sandbox Code Playgroud)
我想做模型绑定.原始类型很容易,但是当我有一个原始类型列表时该怎么办?
我在Global.asax中这样做了:
GlobalConfiguration.Configuration.Routes.MapHttpRoute("SearchWithParameters", "api/{controller}/{action}/{text}/{dateFrom}/{dateTo}/?/?"
Run Code Online (Sandbox Code Playgroud)
但我不知道要为列表设置什么...
我在某个网站上发现我可以在列表之前添加[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
| 归档时间: |
|
| 查看次数: |
5779 次 |
| 最近记录: |