C# 通过在razor中更改url获取视图

C# 通过在razor中更改url获取视图,c#,asp.net,.net,razor,routes,C#,Asp.net,.net,Razor,Routes,我的asp.net mvc4应用程序中的文件RouteConfig.cs有问题: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default",

我的asp.net mvc4应用程序中的文件
RouteConfig.cs
有问题:

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

            routes.MapRoute(
               name: "Admin",
               url: "Admin",
               defaults: new { controller = "Home", action = "Administration" }
           );
        }
主页
控制器中:

public class HomeController : Controller
    {
        public ActionResult Index()
        {
         return View();
        }

        public ActionResult Administration()
        {
            return View();
        }
并添加了以下视图:

但是当我把
http://localhost:61961/Admin
找不到作为url的视图


为什么会发生这种情况?如何修复它?

路由配置已订购。请将您的管理配置移到注册表项的顶部

现在,您将被映射到

控制器:管理员
视图:索引

由于默认路由捕获您的
localhost:{port}/admin

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
       name: "Admin",
       url: "Admin",
       defaults: new { controller = "Home", action = "Administration" }
    );

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}