我正在关注一本MVC 5书,它正在为其购物车创建一个自定义模型绑定器。 他在书中的内容是:
“public class CartModelBinder : IModelBinder {
private const string sessionKey = "Cart";
public object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext) {”
Excerpt From: Adam Freeman. “Pro ASP.NET MVC 5.” iBooks.
当我开始输入并创建我的课程时,它自动创建了这个:
public class CartModelBinder: IModelBinder
{
private const string sessionKey = "Cart";
public bool BindModel(ModelBindingExecutionContext modelBindingExecutionContext, ModelBindingContext bindingContext)
{
那个返回一个对象并接受不同于为我创建的IDE的参数。那么现在我们该怎么办?
答案 0 :(得分:7)
这本书指的是System.Web.Mvc.IModelBinder
;您的实施正在使用System.Web.ModelBinding.IModelBinder
。
实际上,您可能会遇到3种不同的IModelBinder
接口。第三个定义包含在System.Web.Http中,用于Web API。
This answer涵盖了为什么。简而言之,它们是用于不同目的的不同实现(MVC,Web窗体和Web API)。