0

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

私たちは何か馬鹿げたことをしていると思います、そしてそれはそれのためにそれをこのように生成しています、しかし私は私たちが間違っていることを理解することができません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

文字列がエンコードされているようです。Url.Action()呼び出しを@ Html.Raw()でラップしてみてください。

于 2012-08-07T00:20:09.567 に答える
0

それが本当に厄介になっている場合..

なぜ使用しないのですか。

var href = "/ReportsScheduling/ClassAssignmentLoadSummaryReport?PdfOrExcel=blah&RptDate=blahDate"
于 2012-08-06T21:25:36.810 に答える