Asp.net mvc 3 如何判断此视图链接到哪个控制器?

Asp.net mvc 3 如何判断此视图链接到哪个控制器?,asp.net-mvc-3,funnelweb,Asp.net Mvc 3,Funnelweb,我仍然在努力阅读全球.asax上的路线…我可以看到URL是 漏斗网/管理员/登录 路线为: // Due to a bug in the .AddServiceRoute<>() method in WCF we have to do this work around. // see http://wcf.codeplex.com/workitem/9 for bug description // Workaround caches a

我仍然在努力阅读全球.asax上的路线…我可以看到URL是

漏斗网/管理员/登录

路线为:

        // Due to a bug in the .AddServiceRoute<>() method in WCF we have to do this work around.
        // see http://wcf.codeplex.com/workitem/9 for bug description
        // Workaround caches all service route urls, removes the service routes. Adds a constraint to the wiki page route
        // then re-adds the service routes at the end.
        var serviceRoutes = routes
            .OfType<ServiceRoute>()
            .ToList();
        var serviceRoutesUrls = serviceRoutes
            .Select(serviceRoute => serviceRoute.Url.Replace("{*pathInfo}", ""))
            .ToArray();
        var notAService = new NotFromValuesListConstraint(serviceRoutesUrls.ToArray());
        var defaultConstraint = new { page = notAService };
        foreach (var serviceRoute in serviceRoutes)
        {
            routes.Remove(serviceRoute);
        }

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{*allaxd}", new { allaxd = @".*\.axd(/.*)?" });
        routes.IgnoreRoute("pingback");

        if (builder != null)
            AreaRegistration.RegisterAllAreas();

        // Feeds
        routes.MapLowerCaseRoute("feed", new { controller = "Feed", action = "Feed", feedName = (string)null });
        routes.MapLowerCaseRoute("feeds/{*feedName}", new { controller = "Feed", action = "Feed" });
        routes.MapLowerCaseRoute("commentfeed", new { controller = "Feed", action = "CommentFeed" });

        // Upload
        routes.MapLowerCaseRoute("get/{*path}", new { controller = "Upload", action = "Render", area = "Admin" });


        // Resources
        routes.MapLowerCaseRoute("robots", new { controller = "Resource", action = "Render", fileName = "/Content/Resources/Robots.txt", contentType = "text/plain" });
        routes.MapLowerCaseRoute("robots.txt", new { controller = "Resource", action = "Render", fileName = "Content/Resources/Robots.txt", contentType = "text/plain" });
        routes.MapLowerCaseRoute("humans.txt", new { controller = "Resource", action = "Render", fileName = "Content/Resources/Humans.txt", contentType = "text/plain" });
        routes.MapLowerCaseRoute("humans", new { controller = "Resource", action = "Render", fileName = "Content/Resources/Humans.txt", contentType = "text/plain" });
        routes.MapLowerCaseRoute("favicon", new { controller = "Resource", action = "Render", fileName = "{Theme}/Content/Images/favicon.ico", fileName2 = "/Content/Resources/favicon.ico", contentType = "image/vnd.microsoft.icon" });
        routes.MapLowerCaseRoute("favicon.ico", new { controller = "Resource", action = "Render", fileName = "{Theme}/Content/Images/favicon.ico", fileName2 = "/Content/Resources/favicon.ico", contentType = "image/vnd.microsoft.icon" });
        routes.MapLowerCaseRoute("favicon.png", new { controller = "Resource", action = "Render", fileName = "{Theme}/Content/Images/favicon.png", fileName2 = "/Content/Resources/favicon.png", contentType = "image/png" });
        routes.MapLowerCaseRoute("status", new { controller = "Resource", action = "Render", fileName = "/Content/Resources/Status.html", contentType = "text/html" });

        // Site Map
        routes.MapLowerCaseRoute("sitemap", new { controller = "Wiki", action = "SiteMap" });
        routes.MapLowerCaseRoute("sitemap.xml", new { controller = "Wiki", action = "SiteMap" });

        // Tags
        routes.MapLowerCaseRoute("tag/{*tagName}", new { controller = "Tag", action = "Index" });

        // Tagged Pages
        routes.MapLowerCaseRoute("tagged/{*tag}", new {controller = "Tagged", action = "Index"});

        // Wiki
        routes.MapLowerCaseRoute("blog", new { controller = "Wiki", action = "Recent", pageNumber = "0" });
        routes.MapLowerCaseRoute("blog/{pageNumber}", new { controller = "Wiki", action = "Recent" }, new { pageNumber = "\\d+" });
        routes.MapLowerCaseRoute("", new { controller = "Wiki", action = "Home", pageNumber = "0" });
        routes.MapLowerCaseRoute("{pageNumber}", new { controller = "Wiki", action = "Home" }, new { pageNumber = "\\d+" });
        routes.MapLowerCaseRoute("search", new { controller = "Wiki", action = "Search" });

        routes.MapLowerCaseRoute("unpublished", new { controller = "WikiAdmin", Area = "Admin", action = "Unpublished" });
        routes.MapLowerCaseRoute("admin/new", new { controller = "WikiAdmin", Area = "Admin", action = "Edit", page = "" });
        routes.MapLowerCaseRoute("edit/{*page}", new { controller = "WikiAdmin", Area = "Admin", action = "Edit", page = UrlParameter.Optional });
        routes.MapLowerCaseRoute("revert/{*page}", new { controller = "WikiAdmin", Area = "Admin", action = "Revert" });

        routes.MapLowerCaseRoute("via-feed/{*page}", new { controller = "Resource", action = "Render", fileName = "/Content/Images/Transparent.gif", contentType = "image/gif" });
        routes.MapLowerCaseRoute("history-of/{*page}", new { controller = "Wiki", action = "Revisions" });
        routes.MapLowerCaseRoute("trackbacks-for/{*page}", new { controller = "Wiki", action = "Pingbacks" });

        // Remove .aspx
        routes.Add(new RedirectRoute("(?<page>[a-zA-Z0-9/\\-\\._\\+ ]+)\\.aspx", new MvcRouteHandler()) { ReplacePattern = "/$1" });
        routes.Add(new RedirectRoute("(?<page>rss)$", new MvcRouteHandler()) { ReplacePattern = "feed", ResponseCode = 302});

        routes.MapLowerCaseRoute("{*page}", new { controller = "Wiki", action = "Page" }, defaultConstraint);

        foreach (var serviceRoute in serviceRoutes)
        {
            routes.Add(serviceRoute);
        }
//由于WCF中的.AddServiceRoute()方法中存在错误,我们必须解决此问题。
//看http://wcf.codeplex.com/workitem/9 用于错误描述
//解决方案缓存所有服务路由URL,删除服务路由。向wiki页面路由添加约束
//然后在末尾重新添加服务路由。
var serviceRoutes=路由
第()类
.ToList();
var serviceRoutesUrls=serviceRoutes
.Select(serviceRoute=>serviceRoute.Url.Replace(“{*pathInfo},”))
.ToArray();
var notAService=new NotFromValuesListConstraint(serviceRoutesUrls.ToArray());
var defaultConstraint=new{page=notAService};
foreach(serviceRoutes中的var serviceRoute)
{
删除(serviceRoute);
}
routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);
IgnoreRoute(“{*allaxd}”,新的{allaxd=@.*\.axd(/.*)”});
路线。忽略路线(“平背”);
如果(生成器!=null)
RegisterAllAreas();
//喂养
routes.MapLowerCaseRoute(“feed”,new{controller=“feed”,action=“feed”,feedName=(string)null});
routes.MapLowerCaseRoute(“feeds/{*feedName}”,new{controller=“Feed”,action=“Feed”});
routes.maplowercaserout(“commentfeed”,new{controller=“Feed”,action=“commentfeed”});
//上传
routes.MapLowerCaseRoute(“get/{*path}”,new{controller=“Upload”,action=“Render”,area=“Admin”});
//资源
routes.maplowercaserout(“robots”,new{controller=“Resource”,action=“Render”,fileName=“/Content/Resources/robots.txt”,contentType=“text/plain”});
routes.maplowercaserout(“robots.txt”,new{controller=“Resource”,action=“Render”,fileName=“Content/Resources/robots.txt”,contentType=“text/plain”});
routes.maplowercaserout(“humans.txt”,new{controller=“Resource”,action=“Render”,fileName=“Content/Resources/humans.txt”,contentType=“text/plain”});
routes.maplowercaserout(“humans”,new{controller=“Resource”,action=“Render”,fileName=“Content/Resources/humans.txt”,contentType=“text/plain”});
routes.maplowercaserout(“favicon”,new{controller=“Resource”,action=“Render”,fileName=“{Theme}/Content/Images/favicon.ico”,fileName2=“/Content/Resources/favicon.ico”,contentType=“image/vnd.microsoft.icon”});
routes.maplowercaserout(“favicon.ico”,new{controller=“Resource”,action=“Render”,fileName=“{Theme}/Content/Images/favicon.ico”,fileName2=“/Content/Resources/favicon.ico”,contentType=“image/vnd.microsoft.icon”});
routes.maplowercaserout(“favicon.png”,new{controller=“Resource”,action=“Render”,fileName=“{Theme}/Content/Images/favicon.png”,fileName2=“/Content/Resources/favicon.png”,contentType=“image/png”});
routes.MapLowerCaseRoute(“status”,new{controller=“Resource”,action=“Render”,fileName=“/Content/Resources/status.html”,contentType=“text/html”});
//站点地图
routes.maplowercaserout(“sitemap”,new{controller=“Wiki”,action=“sitemap”});
routes.maplowercaserout(“sitemap.xml”,new{controller=“Wiki”,action=“sitemap”});
//标签
routes.MapLowerCaseRoute(“tag/{*tagName}”,new{controller=“tag”,action=“Index”});
//标签页
routes.MapLowerCaseRoute(“taged/{*tag}”,new{controller=“taged”,action=“Index”});
//维基
routes.maplowercaserout(“blog”,new{controller=“Wiki”,action=“Recent”,pageNumber=“0”});
routes.MapLowerCaseRoute(“blog/{pageNumber}”,new{controller=“Wiki”,action=“Recent”},new{pageNumber=“\\d+”});
routes.MapLowerCaseRoute(“,new{controller=“Wiki”,action=“Home”,pageNumber=“0”});
routes.MapLowerCaseRoute(“{pageNumber}”,new{controller=“Wiki”,action=“Home”},new{pageNumber=“\\d+”});
routes.MapLowerCaseRoute(“搜索”,新的{controller=“Wiki”,action=“搜索”});
routes.MapLowerCaseRoute(“未发布”,新建{controller=“WikiAdmin”,Area=“Admin”,action=“未发布”});
routes.maplowercaserout(“admin/new”,new{controller=“WikiAdmin”,Area=“admin”,action=“Edit”,page=”“});
routes.MapLowerCaseRoute(“edit/{*page}”,new{controller=“WikiAdmin”,Area=“Admin”,action=“edit”,page=UrlParameter.Optional});
routes.MapLowerCaseRoute(“revert/{*page}”,new{controller=“WikiAdmin”,Area=“Admin”,action=“revert”});
routes.MapLowerCaseRoute(“通过提要/{*page}”,新建{controller=“Resource”,action=“Render”,fileName=“/Content/Images/Transparent.gif”,contentType=“image/gif”});
routes.MapLowerCaseRoute(“历史记录/{*page}”,新的{controller=“Wiki”,action=“Revisions”});
routes.MapLowerCaseRoute(“用于/{*page}的trackbacks”,新的{controller=“Wiki”,action=“Pingbacks”});
//删除.aspx
添加(新的重定向路由((?[a-zA-Z0-9/\\-\\.\\+]+)\\.aspx),新的MvcRouteHandler()){ReplacePattern=“/$1”});
添加(新的重定向路由((?rss)$),新的MvcRouteHandler(){ReplacePattern=“feed”,ResponseCode=302});
routes.MapLowerCaseRoute(“{*page}”,new{controller=“Wiki”,action=“page”},defaultConstraint);
foreach(serviceRoutes中的var serviceRoute)
{
routes.Add(serviceRoute);
}

只是看不出我是怎么想的。因为似乎没有匹配的/admin/login…?

可能您有一个注册路由的区域。还有,你试过一瞥吗?一瞥会告诉你你的路线是什么
context.MapRoute(
                "Admin_Login",
                "admin/login/{action}",
                new { controller = "Login", action = "Login" }
                );