Mar*_*nko 11 .net c# asp.net model-binding
我试图在我的ASP.NET MVC 4项目中创建自定义模型绑定器.但我对IModelBinder iterfaces感到困惑.有3个 IModelBinder接口VS可以找到.在以下命名空间中.
using System.Web.Http.ModelBinding;
using System.Web.Mvc;
using System.Web.ModelBinding;
bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext);
bool BindModel(ModelBindingExecutionContext modelBindingExecutionContext, ModelBindingContext bindingContext);
Run Code Online (Sandbox Code Playgroud)
所有相关的类,如ModelBindingContext,ModelMetadata和其他类也都是重复的.我和我的朋友无法找出这种可怕的代码重复的目的是什么.为什么Microsoft开发人员不提取共享程序集的公共类?据我所知,MVC中使用了一个接口,Web Api中有一个接口,第三个版本的目的是什么?这个接口是独立的还是以某种方式相互连接?
bra*_*der 18
我不是MS民谣,但我认为这是答案 -
http://msdn.microsoft.com/en-us/library/system.web.modelbinding(v=vs.110).aspx
System.Web.ModelBinding命名空间提供的类使您可以将数据对象绑定到ASP.NET Web窗体服务器控件.
http://msdn.microsoft.com/en-us/library/system.web.mvc(v=vs.118).aspx
System.Web.Mvc命名空间包含支持用于创建Web应用程序的ASP.NET模型视图控制器(MVC)框架的类和接口.此命名空间包括表示控制器,控制器工厂,操作结果,视图,部分视图,模型绑定程序等的类.
http://msdn.microsoft.com/en-us/library/system.web.http.modelbinding(v=vs.118).aspx
此命名空间适用于Web API 2
简而言之,所有三个框架都是相互独立的.你应该记住,它们是可单独部署的框架.因此有必要保留所有这些.如果您不需要特定的一个,则从引用的程序集中删除它.他们不相互依赖.它们都来自不同的框架,它们都是最适合的目的.
这是他们可以列出的所有工具的intellisense或resharper的功能.但是你应该根据你的框架和需要选择合适的人.但通常它们都可以在.net框架完整版中使用,并且可能提供相同的工作.
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |