Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何知道此页正在访问哪个控制器?_C#_Asp.net Mvc - Fatal编程技术网

C# 如何知道此页正在访问哪个控制器?

C# 如何知道此页正在访问哪个控制器?,c#,asp.net-mvc,C#,Asp.net Mvc,对MVC来说,这是一个全新的东西,我有一个关于我下载的开源应用程序的页面,它位于url 显然,我正在试图找到应用程序中映射到的控制器和视图。我该如何解决这个问题?我应该搜索什么以及在哪里查找 另外,我如何确定哪些操作处理此视图?这应该让您开始。基本上,您可以在global.asax.cs文件中使用路由及其参数的集合。那里的指南还有一个关于定制路线的部分 根据默认路由规则,它是{controller}/{action}/ 这将使控制器处于admin和操作Login这将帮助您解决问题。这个工具太棒

对MVC来说,这是一个全新的东西,我有一个关于我下载的开源应用程序的页面,它位于url

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


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

这应该让您开始。基本上,您可以在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中添加钩子并尝试转到该页面,它将向您显示应用程序中定义的所有路由的列表,然后向您显示当前页面匹配的路由