ASP.NET MVC 1是否与ASP.NET MVC 2兼容?
|
我可以毫不费力地使用MVC 2程序集运行MVC 1应用程序吗?我知道有些第三方工具在MVC 2中已经破坏了,但我们假设我没有使用其他任何工具. 解决方法已有 breaking changes.如果你想在1.0上运行1.0项目,它确实在不同的地方寻找东西; so you’d have to migrate the application to 2.0.. 以下是可能“破坏”的更改(截至预览2的当前更改): 预览2的变化 助手现在返回一个MvcHtmlString对象 为了利用ASP.NET 4中新的HTML编码表达式语法,HTML帮助程序的返回类型现在是MvcHtmlString而不是字符串.请注意,如果您使用ASP.NET MVC 2和ASP.NET 3.5的新助手,您将无法利用HTML编码语法;只有在ASP.NET 4上运行ASP.NET MVC 2时,新语法才可用. JsonResult现在只响应HTTP POST请求 为了减轻可能发生信息泄露的JSON劫持攻击,默认情况下,JsonResult类现在只响应HTTP POST请求.应该将AJAX GET调用返回JsonResult对象的操作方法更改为使用POST.如有必要,可以通过设置JsonResult的新JsonRequestBehavior属性来覆盖此行为.有关潜在漏洞利用的更多信息,请参阅Phil Haack博客上的JSON Hijacking博客文章. ModelBindingContext上的Model和ModelType属性设置器已过时 ModelBindingContext类中添加了一个新的可设置ModelMetadata属性.新属性封装了Model和ModelType属性.尽管Model和ModelType属性已过时,但为了向后兼容,属性getter仍可正常工作;他们委托给ModelMetadata属性来检索值. 预览1的变化 DefaultControllerFactory类更改从中派生的break自定义控制器工厂 此更改会影响从DefaultControllerFactory派生的自定义控制器工厂.通过删除RequestContext属性并将请求上下文实例传递给受保护的虚拟方法GetControllerInstance和GetControllerType来修复DefaultControllerFactory类. 自定义控制器工厂通常用于为ASP.NET MVC应用程序提供依赖项注入. 要更新自定义控制器工厂以支持ASP.NET MVC 2,请更改方法签名或签名以匹配新签名,并使用请求上下文参数而不是属性. “Area”现在是一个保留的路由值键 Route值中的字符串“area”现在在ASP.NET MVC中具有特殊含义,与“controller”和“action”的作用相同.一个含义是,如果为HTML帮助程序提供包含“area”的路由值字典,则帮助程序将不再在查询字符串中附加“area”. 如果您使用的是区域功能,请确保不要将{area}用作路线网址的一部分. 已知的问题 选中“创建强类型视图”复选框时,“添加视图”对话框将引发NullReferenceException,选择“清空”以外的“视图内容”选项,并为存在的类型指定“查看数据类类型名称”.指定类型名称时,请使用下拉列表选择类型名称或键入完全限定类型名称.对于不存在的类型,必须将“查看内容”设置为“空”. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 后退按钮或导航到特定视图(页面)-ASP.NET
- 使用嵌套类的ASP.NET MVC3 JSON模型绑定
- asp.net-mvc – ASP.NET MVC WebApi:没有为此对象定义的无
- asp.net-mvc – Href和Url.Content有什么区别?
- asp.net-core – 从与xproj相同的解决方案引用csproj
- asp.net-mvc – 使用RedirectToAction传递模型和参数
- asp.net-mvc – .net mvc的简短/快速解释
- asp.net-mvc-3 – DI模式是否限制了昂贵的对象创建以及不经
- asp.net – SharePoint文件大小限制
- ASP.NET从.aspx链接返回图片
