Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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# MVC控制器未启动_C#_Asp.net Mvc_Routes - Fatal编程技术网

C# MVC控制器未启动

C# MVC控制器未启动,c#,asp.net-mvc,routes,C#,Asp.net Mvc,Routes,我正在尝试设置一个路由控制器,以便在应用程序启动时浏览器缓存特定文件时拦截get请求。我可以在控制台中看到请求: 应用程序缓存进度事件(472中的275个) 我已将我的Global.asax设置为调用RouteConfig.registerOutes(不过基本上只是OOTB代码): 我已经确认这实际上是在运行和注册我的路由(我写入带有时间戳的文本文件): (路径的某些位已明显更改) 我有一个名为reportscoontroller的控制器,它带有一个GetReport()方法,我希望调用该方法:

我正在尝试设置一个路由控制器,以便在应用程序启动时浏览器缓存特定文件时拦截get请求。我可以在控制台中看到请求:

应用程序缓存进度事件(472中的275个)

我已将我的
Global.asax
设置为调用
RouteConfig.registerOutes
(不过基本上只是OOTB代码):

我已经确认这实际上是在运行和注册我的路由(我写入带有时间戳的文本文件):

(路径的某些位已明显更改)

我有一个名为
reportscoontroller
的控制器,它带有一个
GetReport()
方法,我希望调用该方法:

public ActionResult GetReport(string report)
{
    return View();
}
但它从未被调用(我写入一个文本文件,如
Global.asax
RouteConfig
,但它从未发生过)

你知道我该怎么做吗?我做错了什么


编辑1:将
string report
参数添加到
GetReport
。仍然是相同的问题。

假设您的路线定义为

routes.MapRoute(
    name: "Reports",
    url: "Path/Whatever/App/Views/SubFolder/Reports/{report}", //with route param
    defaults: new
    {
        controller = "Reports",
        action = "GetReport"
    }
);
您的操作方法签名需要
报告
参数,否则路由将不匹配:

public ActionResult GetReport(string report)
{
    return View();
}

很可能您的路线顺序不正确。请显示您的所有MapRoutes代码。
GetReport
操作方法不接受任何参数…您的路由的
{report}
应该如何传递?@ErikPhilips发布了其余代码。这是我实际定义的唯一路由。@kaveman我将向
GetReport
添加一个字符串参数,看看会发生什么。我们能看到完整的Global.asax和ReportsController的完整代码吗?
routes.MapRoute(
    name: "Reports",
    url: "Path/Whatever/App/Views/SubFolder/Reports/{report}", //with route param
    defaults: new
    {
        controller = "Reports",
        action = "GetReport"
    }
);
public ActionResult GetReport(string report)
{
    return View();
}