我正在尝试在要点击的链接上实施@ 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,它的工作正常。怎么解决这个烂摊子?任何帮助将不胜感激。
谢谢 NIKHIL
答案 0 :(得分:0)
您似乎正在尝试将C#方法的返回值分配给javascript变量,然后将其中的一部分替换为另一个javascript变量。如果我错了,请纠正我。
你需要仔细研究并找出你所写的内容。它不会起作用,因为您使用的是单引号而不是双引号,而javascript link.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
更改为预期的格式。