Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# 使用Url.Action时的路由_C#_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

C# 使用Url.Action时的路由

C# 使用Url.Action时的路由,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,全部, 我有以下代码,它没有创建预期的路由 [RoutePrefix("widgets")] public class PublishedReportWidgetController : Controller [Route("published-reports"), HttpGet] public ActionResult PublishedReports() [Route("published-reports/{publishedReportId}"), HttpG

全部,

我有以下代码,它没有创建预期的路由

[RoutePrefix("widgets")]
public class PublishedReportWidgetController : Controller

    [Route("published-reports"), HttpGet]
    public ActionResult PublishedReports()

    [Route("published-reports/{publishedReportId}"), HttpGet]
    public ActionResult PublishedReports(int publishedReportId)
现在在我看来,我有以下几点:

console.log("@(Url.Action("PublishedReports", "PublishedReportsWidget"))");
console.log("@(Url.Action("PublishedReports", "PublishedReportsWidget", new { id = 9999 }))");
现在为什么不输出路径“/widgets/published reports/9999”

我看到它确实输出了“widgets/published reports?9999”,后面是“/widgets/published reports”

Thx
jonpfl

我已经弄明白了,我想是“id”和“publishedReportId”这个词引起了这个问题。

如果你保持名字不变,会有什么不同吗?因此,我没有像视图中那样使用publishedReportId,而是将控制器中的名称从“{publishedReportId}”更改为“publishedReportId”,并将代码原样保留在视图中,仍然不走运。仍在输出“/widgets/published reports?id=9999”,这实际上是我的原始版本,但我想既然它已被更正,我会发布另一个版本。如果我不该这样做,我道歉。