Javascript 操作正在生成非跨浏览器友好的Url
Action以一种在IE8上工作的方式生成查询字符串,但在传递日期时不在Chrome上工作 这是我们的代码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="[
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服务器上工作。如果我们硬编码,我们必须自己做。