C# 如何知道此页正在访问哪个控制器?
对MVC来说,这是一个全新的东西,我有一个关于我下载的开源应用程序的页面,它位于url 显然,我正在试图找到应用程序中映射到的控制器和视图。我该如何解决这个问题?我应该搜索什么以及在哪里查找C# 如何知道此页正在访问哪个控制器?,c#,asp.net-mvc,C#,Asp.net Mvc,对MVC来说,这是一个全新的东西,我有一个关于我下载的开源应用程序的页面,它位于url 显然,我正在试图找到应用程序中映射到的控制器和视图。我该如何解决这个问题?我应该搜索什么以及在哪里查找 另外,我如何确定哪些操作处理此视图?这应该让您开始。基本上,您可以在global.asax.cs文件中使用路由及其参数的集合。那里的指南还有一个关于定制路线的部分 根据默认路由规则,它是{controller}/{action}/ 这将使控制器处于admin和操作Login这将帮助您解决问题。这个工具太棒
另外,我如何确定哪些操作处理此视图?这应该让您开始。基本上,您可以在global.asax.cs文件中使用路由及其参数的集合。那里的指南还有一个关于定制路线的部分 根据默认路由规则,它是
{controller}/{action}/
这将使控制器处于
admin
和操作Login
这将帮助您解决问题。这个工具太棒了
按照惯例,MVC路线以
{app_base}/{controller}/{action}
查看更多信息。
因此,在您的情况下,您需要在
Controllers
文件夹中查找admin.cs
类。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},并且login-action方法将databaseissue=true位作为参数。所有这些答案都是好的,除非有人创建了到特定url的自定义路由。默认情况下,它们都是正确的,但如果设置了自定义路由,它可能会转到StackController并引用溢出操作 正如上面Jamie R Rytlweski所建议的,在项目中引用RoutedBugger,在global.asax中添加钩子并尝试转到该页面,它将向您显示应用程序中定义的所有路由的列表,然后向您显示当前页面匹配的路由