添加mvc路由

yaojunyi3721 2012-10-19 05:19:57
由于经常在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 这种页面 是不是我路由写的不对 应该是什么样的 怎么调试呢
...全文
186 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaojunyi3722 2012-10-31
  • 打赏
  • 举报
回复
找出原因了 用routeDebug插件测的路由规则 原来是vs的测试服务器没有将cshtml后缀的请求交给mvc处理
而将路由规则文件后缀换成.htm mvc就能拦截下来
yaojunyi3721 2012-10-31
  • 打赏
  • 举报
回复
找出原因了 用routeDebug插件测的路由规则 原来是vs的测试服务器没有将cshtml后缀的请求交给mvc处理
而将路由规则文件后缀换成.htm mvc就能拦截下来
yaojunyi3721 2012-10-19
  • 打赏
  • 举报
回复
id是可选参数 id = UrlParameter.Optional
带参数的网址是这样的http://localhost:8861/Views/Home/RegisterPhone.cshtml/abc
会把abc解析成id=abc 把.cshtml放到id后面算怎么回事呢
yaojunyi3721 2012-10-19
  • 打赏
  • 举报
回复
明显不对么 我已经试过了 不对
bdmh 2012-10-19
  • 打赏
  • 举报
回复
对啊,你是不是应该写成

Views/{controller}/{action}/{id}.cshtml
yaojunyi3721 2012-10-19
  • 打赏
  • 举报
回复
routes.MapRoute()第一个参数是路由名称 第二个参数是路由规则 第三个参数是默认路由
这是MVC默认路由: routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Login", id = UrlParameter.Optional } // 参数默认值
);
bdmh 2012-10-19
  • 打赏
  • 举报
回复
{action}.cshtml,这样不是成了
Login.cshtml

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧