URl.Action以一种适用于IE8的方式生成查询字符串,但在传递日期时不在Chrome上生成。
这是我们的代码。
function RunReport( PdfOrExcel)
{
var ChartType = "Pdf";
var argCounter = 0;
linkUrl = '@Url.Action("ClassAssignmentLoadSummaryReport", "ReportsScheduling", new { PdfOrExcel="[1]", RptDate="[2]" } )';
var objToSend = new Object();
value = $('#RptDate').val()
dataToSend.RptDate =value;
linkUrl = linkUrl.replace("%5B1%5D", PdfOrExcel);
linkUrl = linkUrl.replace("%5B2%5D", value );
w = window.open(linkurl);
w.focus();
}
(这有点难看,因为我们解开了几个函数来获取上面的代码)
它生成一个这样的URL:
/appName/ReportsScheduling/ClassAssignmentLoadSummaryReport?PdfOrExcel=Pdf&RptDate=8/6/2012
如果我们改变它,就可以在Chrome中正常使用。
/appName/ReportsScheduling/ClassAssignmentLoadSummaryReport?PdfOrExcel=Pdf&RptDate=8/6/2012
我认为我们正在做一些愚蠢的事情并因此而以这种方式产生它,但我无法弄清楚我们做错了什么。
非常感谢任何帮助。
答案 0 :(得分:0)
如果它真的变得那么混乱......
为什么不直接使用..
var href = "/ReportsScheduling/ClassAssignmentLoadSummaryReport?PdfOrExcel=blah&RptDate=blahDate"
答案 1 :(得分:0)
看起来您的字符串正在编码。尝试使用@ Html.Raw()包装Url.Action()调用。