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”,这实际上是我的原始版本,但我想既然它已被更正,我会发布另一个版本。如果我不该这样做,我道歉。