本文为大家分享了ASP。NET 4.0网络表单程序中集成mvc4的方法,供大家参考,具体内容如下
1、新建packages.config文件,里面加上必要的程序集
?可扩展标记语言版本='1.0 '编码='utf-8 '?包包id='Microsoft .AspNet。Mvc '版本=' 4。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id='Microsoft .AspNet。' Mvc . FixedDisplayModes '版本=' 1 .0 .0 ' TargetFrameWork=' net 40 '/包id='Microsoft .AspNet。Mvc。zh-Hans ' version=' 4。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id=' Microsoft .AspNet。剃刀版本=' 2 .0 .20715 .0 ' targetFramework=' net 40 '/包id='Microsoft .AspNet。剃刀。zh-Hans ' version=' 2。0 .20715 .0 ' TargetFrameWork=' net 40 '/包id=' Microsoft .AspNet。“网络优化”版本=' 1 .0 .0 ' TargetFrameWork=' net 40 '/包id='Microsoft .AspNet。网络。优化。zh-Hans ' version=' 1。0 .0 ' targetFramework=' net 40 '/包id='Microsoft .AspNet。“WebApi”版本=' 4 .0 .20710 .0 ' TargetFrameWork=' net 40 '/包id='Microsoft .AspNet。webapi。客户端“版本=”4。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id=' Microsoft .AspNet。webapi。客户。zh-Hans ' version=' 4。0 .20710 .0 ' targetFramework=' net 40 '/包id='Microsoft .AspNet。webapi。核心'版本=' 4。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id=' Microsoft .AspNet。webapi。核心。zh-Hans ' version=' 4。0 .20710 .0”目标框架=“net 40”/包id=“Microsoft .AspNet。' WebApi.WebHost '版本=' 4 .0 .20710 .0 ' TargetFrameWork=' net 40 '/包id='Microsoft .AspNet。webapi。webhost。zh-Hans ' version=' 4。0 .20710 .0”目标框架=“net 40”/包id=“Microsoft .AspNet。网页'版本=' 2 .0 .20710 .0 ' targetFramework=' net40 '/包id='Microsoft .AspNet。网页。zh-Hans ' version=' 2。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id=' Microsoft .净。Http“版本=”2。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id='Microsoft .净。Http。zh-Hans ' version=' 2。0 .20710 .0 ' TargetFrameWork=' net 40 '/包id=' Microsoft .网络。基建'版本=' 1 .0 .0 .0”目标框架=“net 40 ”/包id='Newtonsoft .JSON ' version=' 4。5 .11 ' TargetFrame=' net 40 '/包id=' WebKill '版本=' 1。1 .0 ' TargetFrame=' net 40 '/包2、在对应网项目中还原包
更新-包-项目名称“web”重新安装
3、新建应用程序_开始目录,在里面加上手动音量调节对应配置代码
BundleConfig.cs为静态文件压缩的配置代码,参考代码如下:
公共类BundleConfig { //有关集束的详细信息,请访问http://go.microsoft.com/fwlink/?LinkId=254725公共静态无效注册包(BundleCollection捆绑包){捆绑包.添加(新的脚本包(' ~/bundle/jquery ').包括(' ~/Scripts/jquery-{version}).js’);捆绑包。添加(新的脚本包(' ~/bundle/common ').包含(' ~/js/common * ');捆绑包。添加(新的脚本包(' ~/bundle/echart ').包括(' ~/js/echart。common * ');捆绑包。添加(新的脚本包(' ~/bundle/小胡子')。包括(' ~/js/小胡子* ');捆绑包。添加(新的脚本包(' ~/bundle/blockUI ').包含(' ~/js/jquery。block ui * ');捆绑包。添加(新的StyleBundle('~/Content/oa/css ').包括(' ~/CSS/OA/style。CSS ');//BundleTable .EnableOptimizations=true } } Routeconfig . cs为路由配置代码,web表单相关资源要在此处忽略路由过滤
公共类路由图{公共静态无效注册路由(路由选择路由){路由。忽略重路由(' {resource}).axd/{ * PathInfo } ');//路线。忽略重路由(' {resource}).aspx/{ * PathInfo } ');//路线。忽略重路由(' {resource}).ashx/{ * PathInfo } ');路线。忽略重路由(' {resource}).aspx/{ * PathInfo } ');路线忽略重路由(' {handler}).ashx/{ * PathInfo } ');路线忽略路由(' Handlers/{ handler }).aspx/{ * PathInfo } ');路线忽略路由(' Ajax pro/prototype。ashx’);路线忽略路由(' Ajax pro/core。ashx’);路线忽略路由(' Ajax pro/converter。ashx’);路线忽略路由(' aja xpro/{ resource }).ashx’);路线。忽略重路由(' {resource}).asmx/{ * PathInfo } ');路线. MapRoute(名称:“Default”,URL :“{ controller }/{ action }/{ id }”,Default s 3360 new { controller=“Home”,action=“Index”,id=UrlParameter .可选});} }WebApiConfig.cs为WebApi的路由配置,参考代码:
公共静态类WebApiConfig {公共静态无效寄存器(HttpCONFIGuration config){ config .路线。MapHttpRoute(名称: ' DefaultAPI ',route templates : ' API/{ controller }/{ id } ',默认值3360 new { id=RouteParameter .可选});} }4、全球文件中应用程序_开始事件中加上如下代码,使程序启动手动音量调节配置生效
区域注册套索();全局配置配置。格式化程序。jsonformatter。mediatypemappings。添加(新的查询字符串映射(' JSON ',' true ',' application/JSON ');WebApiConfig .注册(全局配置。配置);FilterConfig .RegisterGlobalFilters(全局筛选器。过滤器);路由图。注册路由(路由表。路线);BundleConfig .注册捆绑包(BundleTable .捆绑包);全局配置配置。格式化程序。xmlformater。支持的媒体类型。clear();5、新建控制器文件夹,在里面加上控制器类,例如
公共类DocRecController :控制器{公共操作结果索引(){ viewpag .UserName=' wilson.fu返回视图();}}6、新建视图文件夹,里面加上对应视图文件,如果需要使用模板,还需增加_ViewStart.cshtml文件,例如DocRec/Index.cshtml,文件如下
@ { Layout=null}!DOCTYPE html html head meta name=' viewport ' content=' width=device-width '/title/title/head body div H3 @ viewpag .用户名/H3/div/正文/HTMl视图文件夹下还需要加上Web.config文件进行请求过滤
?可扩展标记语言版本='1.0 '编码='utf-8 '?配置配置部分部分组名='system.web。网页。剃刀类型='系统.网络。网页。剃刀。配置。剃刀网络部分组,系统网络。网页。剃刀,版本=2.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '节名称=“主机”类型='系统' .网页。网页。剃须刀。配置。主机部分,系统网络。网页。剃刀,版本=2.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '所需权限=' false '/节名='pages '类型='System ' .网页。网页。剃刀。配置。剃刀页面部分,系统网络。网页。剃刀,版本=2.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '所需权限=' false '/节组/配置节系统。网络。网页。剃刀主机工厂类型='系统.系统网络。Mvc,版本=4.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '/页面基本类型=' System ."命名空间添加命名空间="系统网络。“Mvc”添加命名空间='系统.网络。Mvc.Ajax' /添加命名空间='系统.网络。Mvc。Html '添加命名空间='系统.网络。路由“/命名空间/页面/系统。网络。网页。razor appSettings添加键='网页3360已启用'值=' false '/appSettings System。web httpHandlers添加路径=' * '动词='* '类型='系统.网络。HttpNotFoundHandler//httphandler!-在视图页面中启用请求验证将导致验证在控制器已对输入进行处理后发生。默认情况下,MVC在控制器处理输入前执行请求验证。若要更改此行为,请对控制器或操作应用ValidateInputAttribute。-page validateRequest=' false ' page parser filtertype=' System .系统网络。Mvc,版本=4.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '页面基本类型='系统.系统网络。Mvc,版本=4.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 ' userControlBaseType=' System .系统网络。Mvc,版本=4.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '控件添加程序集='系统.网络。Mvc,版本=4.0.0.0,区域性=中性,公钥标记=31bf 3856 ad 364 e 35 '命名空间='系统.网络。Mvc' tagPrefix='mvc' /控件/页面/系统。web system.webServer验证validateintegrated模式配置=' false '/处理程序移除名称=' blockviewphandler '/添加名称=' blockviewphandler '路径='* '动词=' * ' preprepreference='集成模式'类型='系统.网络。HttpNotFoundHandler///handlers/system。web服务器/配置目录结构如下:
编译通过后,访问/docrec/index,即可看到效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。