把WebForm移植到.Net MVC中

摘要:
最近,我写了一个项目,想从上一个项目移植几个功能页面。我在网上查了很多信息。大多数信息都直接添加到MVC中的WebForm中,这与我的需求不同。请参见下图:最好不要将原始项目网页直接放入WebForm文件夹。如果直接将其放置,然后将其添加到项目中,则新项目将无法正常工作。因此,在这里,首先添加一个表单,然后修改Index.aspx。

         最近写项目,想把以前项目中的几个功能页面移植过来(想偷懒一下),在网上查了很多的资料,多数资料都是直接在MVC中添加WebForm,和我的需求不同。在此非常感谢网友“Jason”给予的帮助,终于搞定了,在这里记录一下,希望能帮助有同样需要的朋友,同时记录一下方便自己。废话不多说,开始正文。

    另注:原来项目为VS2008网页,新项目为VS2012 MVC4

   1.首先添加controller,这个和正常操作一样,但是记得修改返回路径:

1    public ActionResult Index()
2    {
3       return Redirect("/WebForm/Index.aspx"); //括号里面就是页面所在的路径
4    }

        2.在项目中新建一个文件夹,我这里叫“WebForm”,然后在WebForm的文件夹中添加Web窗体,名字为Index.aspx,切记不要把页面放到Views,那样的话,无法执行后台的事件。看下图

          把WebForm移植到.Net MVC中第1张

       说明:最好不要把原来的项目网页直接放到WebForm文件夹中,如果直接放进去再添加进项目,会使新项目无法正常运行,所以这里先添加一个窗体,然后再修改Index.aspx。

  3.修改Index.aspx中的东西,这一步,可以把原来的的网页代码复制过来,粘贴进去,前台页面只要覆盖body中的代码就可以了(如果有JS代码,还放到head中),后台复制namespace中的代码。记得要修改namespace 以适应新项目。

      4.记得在Index.aspx中添加:EnableViewState="true" 。如下图

       把WebForm移植到.Net MVC中第2张

  5.修改MVC的路由,这里没有什么特别要说的,网上的说明比较多,这里就不在详细说明了。至此,就可以把原来的项目页面移植过来了,挺简单吧。

   最后补充:网上资料说要修改后台的继承,需要把“ System.Web.UI.Page” 改为“System.Web.Mvc.ViewPage”,但是经过本人测试,发现不用修改也没有问题。老项目所用的其他类文件,正常添加进来就好了,同样记得修改namespace 名字。由于本人语言表达能力有限,没有说明清楚或者说明错误的,请给我留言,共同交流。

                                 欢迎转载,转载请注明出处

免责声明:文章转载自《把WebForm移植到.Net MVC中》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇谈谈美国的程序员.Net Mvc EasyUI DataGrid 分页下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

7月3日下午 微擎芸众商城 设计思路

学习参考文章https://learnku.com/articles/13622/the-principle-of-laravel-routing-execution <?phpnamespace appcommonproviders;use appcommonservicesCheck;use IlluminateSupportFacadesRo...

【Kubernetes 系列二】从虚拟机讲到 Kubernetes 架构

目录 什么是虚拟机? 什么是容器? Docker Kubernetes 架构 Kubernetes 对象 基础设施抽象 在认识 Kubernetes 之前,我们需了解下容器,在了解容器之前,我们得先知道什么是虚拟机。 什么是虚拟机? 虚拟机(VM, Virtual Machine)是计算机系统的仿真,以便隔离真实计算机硬件,运行多个不同的操...

1、docker容器技术基础入门

Docker和传统虚拟机的区别 参考文章: https://lwn.net/Articles/531114/ 操作中的命名空间详解 https://blog.yadutaf.fr/page/2/ https://ruby-china.org/topics/22004 Docker 介绍以及其相关术语、底层原理和技术 http://tiewei...

Hadoop学习笔记—21.Hadoop2的改进内容简介

Hadoop学习笔记—21.Hadoop2的改进内容简介 Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: (1)HDFS的NameNode可以以集群的方式布署,增强了NameNodes的水平扩展能力和高可用性,分别是:HDFSFe...

安装Python时遇到如下问题,解决方案

~$ sudo apt-get install python-pip 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 python-pip 已经是最新的版本了。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 233个软件包未被升级。 有 8个软件包...

C++对于C的加强

1 前言 相比大多数的人学习C++之前,都有一定的C语言的学习过程或者使用经验,所以很多人在使用C++时往往把C++当做C语言的加强版,甚至把C++认为是C WITH CLASS,C语言是小米加步枪,C++是飞机大炮,这么理解也没错,起码我在开始学习时是这么认为,但是我个人如果只是这样的话,或许会没办法好好的把握C++的水。 2 C语言和C++语言关系...