Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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
Javascript 操作正在生成非跨浏览器友好的Url_Javascript_Asp.net Mvc 3 - Fatal编程技术网

Javascript 操作正在生成非跨浏览器友好的Url

Javascript 操作正在生成非跨浏览器友好的Url,javascript,asp.net-mvc-3,Javascript,Asp.net Mvc 3,Action以一种在IE8上工作的方式生成查询字符串,但在传递日期时不在Chrome上工作 这是我们的代码 function RunReport( PdfOrExcel) { var ChartType = "Pdf"; var argCounter = 0; linkUrl = '@Url.Action("ClassAssignmentLoadSummaryReport", "ReportsScheduling", new { PdfOrExcel="[1]", RptDate="[

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
我假设我们在做一些愚蠢的事情,它就是这样产生的,但我不知道我们做错了什么


非常感谢您的帮助。

如果事情真的变得那么糟糕

为什么不直接使用

var href = "/ReportsScheduling/ClassAssignmentLoadSummaryReport?PdfOrExcel=blah&RptDate=blahDate"

看起来您的字符串正在被编码。尝试用@Html.Raw()包装Url.Action()调用。

听起来很奇怪。应该是有效的URL。我们需要URL.Action中的实际路径行为,以便相同的代码在开发人员和QA&release服务器上工作。如果我们硬编码,我们必须自己做。