MVC中的Area的区域的时候,在一个Area中定义了一个Home控制器,在启动的时候, 找到多个与名为"Home"的控制器匹配的类型.如果为此请求("{controller}/{action}/{id}")提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间, 则会发生此情况.如果是这样,请通过调用含有"namespaces"参数的"MapRoute"方法的重载来注册此路由. 在网上找了相关的解决方案,给大家分享一下,如…
今天在项目中遇到一个问题,在MVC下想建立一个区域的后台Boss视图,出现了"找到多个与名为“home”的控制器匹配的类型"的问题,希望下面的解决方案能够帮助到大家 这是网站的整体结构,在Areas区域下有一个Boss的管理区域,解决问题只需要将最外层的路由和Boss下的路由设置命名空间就可以了. 这是最外层的路由设置: using System; using System.Collections.Generic; using System.Linq; using System.Web…
会出现如下错误”找到多个与名为“home”的控制器匹配的类型“   在RouteConfig文件中添加命名空间可解决   routes.MapRoute(                 name: "Default",                 url: "{controller}/{action}/{id}",                 defaults: new { controller = "Home", action = &…
“/”应用程序中的服务器错误. 找到多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配的控制器,则会发生这种情况.如果是这样,请通过调用带有 'namespaces' 参数的 "MapRoute" 方法的重载来注册此路由. “Home”请求找到下列匹配的控制器:WebAppAreasDemo.Controllers.HomeControllerWebAppAreasDemo…
添加了mvc区域以后,可能出现以下错误... 找到多个与名为“Login”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况.如果是这样,请通过调用含有 'namespaces' 参数的 'MapRoute' 方法的重载来注册此路由. “Login”请求找到下列匹配的控制器:LSUnion.Site.Areas.Admin.Controllers.LoginControllerLSU…
一次在建MVC 项目的进行开发的时候,因为后来想到了一个更好的项目名称,就把 Web项目的名称重命名 改了, 然后 程序集名称,默认命名空间,都改成新的了,刚建立的项目本身也不大,运行起来,总是报 " 找到多个与名为“Login”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配的控制器,则会发生这种情况....." 奇了怪了,最后发现,原来是 Global.asax 文件 搞的鬼,因为在VS里…
asp.net mvc4 添加分区出现错误 找到多个与名为“home”的控制器匹配的类型 会出现如下错误”找到多个与名为“home”的控制器匹配的类型“ 在RouteConfig文件中添加命名空间可解决 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "In…
“/”应用程序中的服务器错误. 找到多个与名为“Index”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由在搜索匹配此请求的控制器时没有指定命名空间,则会发生此情况.如果是这样,请通过调用含有 'namespaces' 参数的 'MapRoute' 方法的重载来注册此路由. “Index”请求找到下列匹配的控制器:CMS.Areas.Mana.Controllers.IndexControllerCMS.Controllers.Inde…
“/”应用程序中的服务器错误. 找到多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配的控制器,则会发生这种情况.如果是这样,请通过调用带有 'namespaces' 参数的 "MapRoute" 方法的重载来注册此路由. “Home”请求找到下列匹配的控制器:Jintu3DMineManagementFront.Controllers.HomeControllerWebA…
1.已把项目中所有的Webapplication1改为了MvcMovie,但是运行后,还是报错: 找到多个与名为“Home”的控制器匹配的类型 2.已重新生成解决方安,还是不行. 解决方法:把bin文件夹中的全部删除后,再重新生成.…
出现该问题的原因是在默认的Golbal.asax.cs文件中已经注册了默认路由 public class MvcApplication : System.Web.HttpApplication    {        public static void RegisterRoutes(RouteCollection routes)        {            routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); //routes…
错误原因是:在根目录中的Controller中有HomeController,而在Areas中也有一个HomeController,只是他们的命名空间不一样. 这样的话,只需要在对应的路由注册中加入命名空间就好了. App_Start/RouteConfig.cs中 和 Areas/xxxAreaRegistration.cs中, 加上:namespaces: new[] { "xxxxxx.WebSiteForMVC.Areas.Sys.Controllers" } 指定命名空间.…
一,当项目中存在多个网站报错,而不是新增Area出现这个错误时.应该在RouteConfig这样改: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace Houtai.Web.Mobile { public class RouteConfig { public st…
参考文章: http://blog.csdn.net/chengmodelong/article/details/41890229 https://www.cnblogs.com/zgqys1980/archive/2012/08/22/2650816.html 遇到这种情况是因为,出现该问题的原因是在默认的Golbal.asax.cs文件中已经注册了默认路由,而在AREAS中又注册了一个同名的Controller,也就是说areas中的Controller和最外层的Controller中有重名…
原因分析 其实上面已经讲的很清楚了,找到了两个同名Home控制器,需要配置命名空间来区分. 解决方法 方法一:修改RouteConfig.cs 方法二:修改RouteConfig.cs 和 AdminAreaRegistration.cs (ps:强迫症人士做法,两边都加上命名空间)…
主地址:http://localhost:3412/Home/Index 区域地址:http://localhost:3412/T200/Home/Index 解决方法: 注册路由添加命名空间(namespaces)参数 (一定要是正确的) public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathI…
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Home",…
自己封装了一个BaseApiControllerr把他独立成一个项目出来在引用不行,而用默认自带的ApiControllerr可以. <Error> <Message> 未找到与请求 URI"http://localhost:9939/api/exams/examprocess/submitanswer/?id1=23"匹配的 HTTP 资源. </Message> <MessageDetail>未找到与名为"examproce…
新建MVC项目,添加HomeController,然后添加名字为Admin的Area后,新建HomeController.这个时候,运行项目会出现以下错误: 解决办法如下: 打开网址下面的HomeController,其命名空间如图: 我们修改RouteConfig.cs文件,给路由加上命名空间,代码如下: 同理,我们看到Admin这个area的命名空间为MvcArea.Areas.Admin.Controllers,我们修改AdminAreaRegistration.cs文件,加上命名空间,代…
环境说明:Vistual Studio 2013 MVC 4.0 其实关于ASP.NET MVC Area使用的基础知识可以参考 http://www.cnblogs.com/willick/p/3331519.html 这篇软文. Global.asax 中的 Application_Start 方法里面有这样一句代码 AreaRegistration.RegisterAllAreas(); 估计: 它的作用会到当前MVC 所在的bin中动态注入继承了 AreaRegistration的类,…
vs 2013下自定义ASP.net MVC 5/Web API 2  模板(T4 视图模板/控制器模板): Customizing ASP.NET MVC 5/Web API 2 Scaffolding Templates in Visual Studio 2013 How to create custom scaffold templates in ASP.NET MVC5? MVC5的支架模板与MVC4/3/2 相比发生了变化,可参考上面内容解决MVC 5下的问题.关于自定义T4模板的内容…
MVC提供Area机制,在同一个项目之内就能够切割出不同的ASP.NET MVC网站. 插入:首先在相同的位置,比如说同一个文件夹(如:Controllers)是不能创建俩个相同名称的文件(如:HomeController),其次在不同的文件夹中如fold1和fold2,中各自创建一个TestController,程序能够通过编译,但当浏览器视图执行/Test时,网站报出异常,如图: 因为在默认情况下,路由会同时匹配两个controller,造成无法访问. 在项目上,右键,创建区域,问题解决.…
妈的,今天去携程面试,技术面了三轮,竟然让我走了,没有然后了,你不要老子,干嘛还面那么多轮,害的老子一上午的时间没了,气死我了. 好了,总结下面试中的问题吧, 1.GC 2.设计模式 3.做过的项目的目录结构,及Area 4.其他的.net基础和项目经验 ...... Asp.net Areas不太了解,所有这篇文章,重点学习Areas的作用. ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则去组织model实体层,views视图层和控制层的.如果是大规模的应用程序,经常会由不同功…
大型网站或项目通常有很多子系统或功能模块,如大型网站可能包含酒店.旅游.机票子系统,通过二级域名来访问,或者一个网站的前台和后台模块,每个团队负责某一子系统或模块,为了各团队进行协同开发,我们可以分不同的MVC项目,或使用区域Area进行隔离,Ares相当于一个大项目中的独立小项目,每一个Area都有独立的Controller,View文件结构,互不影响,易于项目维护和管理. 路由注册时候为了避免相同控制器和Action冲突,要定义命名空间.例如区域中和默认的都有HomeController的I…
经常需要描述这样的项目结构 ~:. //web根目录├─.admin   //管理员功能目录│  └─index.html    //管理员目录页面├─.user                  //用户功能目录│  └─index.html      //用户功能目录└─index.html          //首页 在普通的mvc之下,我们需要将每个controller和view都写在固定的页面中,这样所有的文件都堆砌在这两个目录中, 对于普通的小型项目,这样或许是比较方便的解决方案,但…
参考:https://blog.maartenballiauw.be/post/2009/05/20/aspnet-mvc-domain-routing.html 参考:https://www.cnblogs.com/Showshare/p/multidomain-to-onesite-subdomain-to-area-by-routing.html 适当使用反编译工具查看 Route 的源码 主要类 DomainData.cs namespace DomainMvcTest.Core { p…
什么是路由 通过[路由]配置,路由可以规定URL的特殊格式,使其达到特殊效果. 在ASP.NET MVC框架中,通过路由配置URL,使用户的URL请求可以映射到Controller下的action方法中,执行相应操作,并接受URL中传过来的参数, 在MVC5框架中,在[RouteConfig.cs]类中进行路由规则的配置 public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { r…
在大型的ASP.NET mvc5项目中一般都有许多个功能模块,这些功能模块可以用Area(中文翻译为区域)把它们分离开来,比如:Admin,Customer,Bill.ASP.NET MVC项目中把各个功能分为不同Area的之后每一个Area都有独立的Controller,View文件结构.这样可以把这些功能分给不同的开发者同时开发而彼此之间不会冲突,这样的文件结构各司其职,直观明了,易于维护和管理.下面我们看看怎么在ASP.NET MVC5中创建一个Area和Area直接之间链接的处理. 一.…
1. Area简介 ASP.NET MVC Area机制构建项目,可以将相对独立的功能模块切割划分,降低项目的耦合度. 2. Area设置Routing 新建Admin Area后,自动创建AdminAreaRegistration.cs,用于设置Area Routing. using System.Web.Mvc; namespace Libing.Portal.Web.Areas.Admin { public class AdminAreaRegistration : AreaRegistr…
前文简介:我们抽象类路由规则的对象,RouteBase是路由对象的抽象基类,ASP.NET 的路由系统中有唯一一个从RouteBase继承的路由对象,那就是Route类型了.我们注册了路由对象Route,UrlRoutingModule截获请求,把当前请求的Url地址和RouteTable路由表中注册的路由对象一个一个的比较,如果没有找到就返回Null,请求就到此终止了.如果有匹配的路由对象,选择第一个匹配的Route对象,并且根据该Route对象,生成了路由数据RouteData对象,本对象是…