我只是关注一本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)的不同实现。

09-29 20:47