我只是关注一本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不同的参数。那么,现在我们该怎么办?
最佳答案
这本书指的是System.Web.Mvc.IModelBinder
;您的实现使用的是System.Web.ModelBinding.IModelBinder
。
实际上,您可能会遇到3个不同的IModelBinder
接口。第三个定义包含在System.Web.Http中,并用于Web API。
This answer涵盖了原因。简而言之,它们是针对不同目的(MVC,Web窗体和Web API)的不同实现。