1

我正在尝试在要单击的链接上实现@Url.Action。

 link = "@Url.Action("ExportWeeklyTimesheetPDF", "Hours", new { projectId = Model.ProjectId, reportType = 'Week', reportDate = 'reportDate'})"
 link.replace("reportDate",dateString);
 $("#exportPDF").attr("href", link);

当我尝试添加时,reportType = 'Week', reportDate = 'reportDate' 我不断收到未处理的强制转换异常。如果我没有reportType 和reportDate,它工作正常。如何解决这个烂摊子?任何帮助,将不胜感激。

谢谢尼基尔

4

1 回答 1

0

您似乎正在尝试将 C# 方法的返回值分配给 javascript 变量,然后用另一个 javascript 变量替换其中的一部分。如我错了请纠正我。

您需要仔细查看并弄清楚您所写的内容。它不起作用,因为您使用的是单引号而不是双引号,并且 javascriptlink.replace行只会替换reportDate.

此代码应该可以工作:

@{
  string url = Url.Action("ExportWeeklyTimesheetPDF", "Hours", new { projectId = Model.ProjectId, reportType = "Week", reportDate = "replaceWithReportDate"});
}

link = "@url";
link.replace("replaceWithReportDate", dateString);
$("#exportPDF").attr("href", link);

您仍然需要确保replaceWithReportDate结果链接中的 更改为预期格式。

于 2013-04-05T22:43:31.643 回答