我怎么知道这个页面击中了哪个控制器?

时间:2011-10-31 20:01:29

标签: c# asp.net-mvc

对于MVC来说很新我在我下载的开源应用程序页面上有一个页面,该页面位于URL ...

http://localhost:51930/admin/login?databaseIssue=true

显然,我试图找到哪个控制器并在应用程序中查看此映射。我该如何解决这个问题?我应该搜索什么以及在哪里查看?

另外,我如何确定处理此视图的操作?

6 个答案:

答案 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中添加钩子并尝试转到该页面,它将显示应用程序中定义的所有路径的列表,然后显示哪个路线当前页面匹配

相关问题