由于经常在cshtml页面点调试 而.net服务器会默认打开http://localhost:8861/Views/Home/RegisterPhone.cshtml 这种网址
所以要手动改成http://localhost:8861/Home/RegisterPhone很麻烦 就想添加个路由用于测试
于是我在Global.asax的RegisterRoutes方法内默认路由下添加了一条:
routes.MapRoute(
"CreatedByYao",
"Views/{controller}/{action}.cshtml/{id}", //http://localhost:8861/Views/Home/RegisterPhone.cshtml
new { controller = "Home", action = "Login", id = UrlParameter.Optional }
);
但是停止服务重开后 还是无法找到http://localhost:8861/Views/Home/RegisterPhone.cshtml 这种页面 是不是我路由写的不对 应该是什么样的 怎么调试呢
http://localhost:8861/Home/RegisterPhone
url地址写的不对“http://localhost:8861/控制器名称/action名称”就可以访问了
那个是默认路由 你当我傻啊 不知道把url改成默认路由匹配的格式 但是在cshtml页面点击调试时 vs开启的服务器就是这样的格式 我想用我这样的url让页面能访问 得加路由规则 我要的是路由规则
url没错
http://localhost:8861/Home/RegisterPhone
是不是后缀无法识别? 可以把 .cshtml 改成.aspx或者.html试试?
你直接就可以把他方法该成这样:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "RegisterPhone", id = UrlParameter.Optional }
);这样不就可以了
这个是默认路由 正因为默认路由无法匹配.net服务器开启的页面地址格式,出现404页面 所以需要改路由
是我傻 这么简单的问题都搞不懂 还是你们有问题 我说的这么详细 你们都不明白是什么意思
其实不需要添加的 直接改动原来的就可以
大侠,问题解决了?我也是想自定义路由啊,你知道怎么做了吗?