当前位置:  开发笔记 > 编程语言 > 正文

我可以将ASP.NET MVC与常规ASP.NET Web表单一起使用

如何解决《我可以将ASP.NETMVC与常规ASP.NETWeb表单一起使用》经验,为你挑选了1个好方法。

我应客户的要求构建了一个包含ASP.NET Web表单的大型站点.问题是我发现ASP.NET Web表单有点不直观(仅限我个人品味).所以我想要做的就是使用MVC,但我不能指望我的客户在完全重写时付出我的时间(也没有时间).

所以我要问的是,我可以同时使用ASP.NET MVC和Web表单并逐渐使用MVC吗?有小费吗?



1> lko..:

2014年更新:

Visual Studio 2013使我们更接近One ASP.NET.不再有MVC项目类型或Web Forms项目,只有ASP.NET.如果您想混合Web窗体和Web API,或MVC和SignalR,请继续! 我们受到鼓励和支持.NuGet带来了新的特性和功能,而不会破坏现有的应用程序.

VS 13

因此,现在鼓励Web窗体和MVC(几乎已经无缝地工作)的混合,并且边界被混淆.我想MS认识到需要允许项目慢慢迁移到MVC,或者只是根据需要迁移部分,并获得两全其美.


MVC项目:

将MVC与Web表单一起使用已有一段时间,这当然是可能的,也是一个很好的选择.新的功能和页面可以很容易地添加到具有良好架构设计的MVC页面中,例如DDD(服务存储库,依赖注入等),旧的东西可以保持不变.在Webforms页面中组合MVC也可以正常工作,尽管JS验证可能存在一些小问题.我会极力推荐它.

它很容易从创建一个MVC应用程序(5个大气压)开始,然后在你运行基本模板并运行之后在文件夹中添加旧的webforms.这样您就可以正确获得新的MVC设置并保持向后兼容性.

您可以创建MVC项目,只需将所有Webforms页面复制到例如文件夹中.(可能只是升级一个项目,我想)

设置路由以忽略URL中具有该特定foldername的请求.这样,MVC和webforms可以一起使用,而不会在URL中麻烦.

Asp.net WebForms aspx页面可以驻留在MVC中,只要它们没有放在/ Views文件夹中.

使用Razor的旧语法,您可以轻松自定义HTML帮助程序,它更清洁.

检查MVC标准和约定,控制器应该非常轻量级.代码隐藏不是可以包含所需逻辑的代码.

视图不应包含多于表示逻辑(没有业务逻辑)

一切都是新的=> MVC

两者都可以使用资源,web.config等

菜单不使用MVC中的旧站点地图

在webforms .aspx页面中使用MVC:

下面的文本旨在演示如何在webforms页面中使用MVC.(例如,在MyPage.aspx中)您可以在webforms中使用MVC操作/视图,例如ajax来填充页面的一部分或某些div.

包含MVC的Webforms工作正常,至少在HTML中添加ajax调用以填充MVC的div时.

在.aspx里面

..html & webforms code

这将通过MVC填充页面的一部分,您可以干净地完成MVC,而无需担心在webforms中做了什么.

WebForms vs. MVC:

到目前为止,您可能非常清楚这两种技术之间的差异,但是这里有一点比较.他们都有自己的目的和用途.我个人更喜欢MVC来完成我需要做的事情,但这很可能取决于你想要达到的目标.

如果您使用例如SOA,那么webforms和MVC页面都可以使用相同的业务逻辑.当代码全部位于页面后面并与UI关联时(不关注问题),Webforms可能是有害的.凭借可靠的架构和一些可以减少的努力.

进一步阅读:

Webforms与MVC(代码项目)

ASP.NET WebForms和ASP.NET MVC(博客)之间的区别

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有