对于MVC来说很新我在我下载的开源应用程序页面上有一个页面,该页面位于URL ...
http://localhost:51930/admin/login?databaseIssue=true
显然,我试图找到哪个控制器并在应用程序中查看此映射。我该如何解决这个问题?我应该搜索什么以及在哪里查看?
另外,我如何确定处理此视图的操作?
答案 0 :(得分:2)
这应该会帮助你。这个工具太棒了!
http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx
答案 1 :(得分:0)
此guide应该可以帮助您入门。基本上,您在global.asax.cs文件中使用一组路由及其参数。该指南还有一个关于自定义路线的部分。
答案 2 :(得分:0)
根据默认路由规则,它是{controller}/{action}/
哪个会让控制器进入http://localhost:51930/admin/login?databaseIssue=true admin
和行动Login
。
答案 3 :(得分:0)
按照惯例,MVC路由以表格
生成{app_base}/{controller}/{action}
查看this stackoverflow question了解详情。
因此,在您的情况下,您需要在admin.cs
文件夹中查找Controllers
课程。
答案 4 :(得分:0)
global.asax是定义路由映射的地方。
你会看到/设置类似的东西:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
所以默认情况下,您的示例映射到admin = {controller}和login = {action},登录操作方法会将databaseissue = true位作为参数。
答案 5 :(得分:0)
所有这些答案都很好,除非有人可能已创建到相关网址的自定义路线。默认情况下,它们都是正确的,但是如果设置了自定义路由,它可能会转到StackController并引用溢出操作。
就像上面提到的Jamie R Rytlweski,在项目中引用RouteDebugger,在global.asax中添加钩子并尝试转到该页面,它将显示应用程序中定义的所有路径的列表,然后显示哪个路线当前页面匹配