鉴于,路线设置如下
对于MVC:/ entries / {entryID} / Children
对于API:/ api / entries / {entryID} / Children
我希望绑定请求的模型是。
public class Entry
{
public int EntryID {get;set;}
public string EntryName{get;set;}
public string Count{get;set;}
}
和下面的控制器一样,
对于MVC,
public ActionResult Create(Entry entry)
对于Web Api,
public IHttpActionResult Create(Entry entry)
在这两种情况下,EntryName和Count都是通过表单数据提供的。但是我希望通过url检索EntryID,即路由数据。
仅MVC默认模型Binder能够从路径数据绑定EntryID的值。 但是,Web API中的Default Model Binder无法从路由数据绑定属性EntryID的值。
根据Pro ASP.NET MVC 5 Book, DefaultModelBinders按给定顺序查找以下位置中的任何值。
这也适用于Web API DefaultModelBinder吗?如何在WebAPI DefaultModelBinder中获取entryID以绑定路径数据中的entryID。