用的VS2008,上面水晶报表组建已经已用了,其他报表可以出来 但这个有问题
上面的临时变量 var =LoadURL 取到的参数是 http://localhost:58760/general/RptCenter/ReportLoadFromDB.aspx?id=245 但是到了下一句就出问题了。
代码如下:
<script language="javascript" type="text/javascript">
function getRootPath(){
var strFullPath = window.document.location.href;
var strPath = window.document.location.pathname;
var pos = strFullPath.indexOf(strPath);
var prePath = strFullPath.substring(0, pos);
var postPath = strPath.substring(0, strPath.substr(0).indexOf("/") + 1);
return (prePath + postPath);
}
var Path = getRootPath() + 'general/RptCenter/';
function Query() {
var id = document.getElementById("Hid").value;
if (id != '') {
var LoadURL = Path + "ReportLoadFromDB.aspx?id=" + id;
//ReportViewer.Stop();
var success = ReportViewer.Report.LoadFromURL(encodeURI(LoadURL));
if (success == true) {
var UserName = document.getElementById('HUserName').value;
var slStoreID = document.getElementById('HStoreId').value;
var slBdate = ''; if (document.getElementById('BDate')) slBdate = document.getElementById('BDate').value; /*加载数据--begin
//添加参数 注意与sql里面的参数对应
//Query 参数的类型为 `p1`p2`p3`p4`
//SQL 参数的类型为 @para1,@para2,@para3,@para4,@para5,... */ var chkGid_1 = document.getElementById('HGroupCmpyID').value;
var chkStore_2 = document.getElementById('HStoreId').value;
var chkBdate_3 = document.getElementById('BDate').value;
var chkBdate_4 = document.getElementById('Edate').value; var paras1 = '`' + chkGid_1 + '`' + chkStore_2 + '`' + chkBdate_3 + '`' + chkBdate_4 + '`'; /*设置报表参数
取下拉列表框value and text 示例:
var getvalue=objs.options[objindex].value;
var getTxt=objs.options[objindex].text;
ReportViewer.Report.ParameterByName("value").AsString =getvalue;
ReportViewer.Report.ParameterByName("text").AsString =getTxt; */ ReportViewer.Report.ParameterByName("storename").AsString = document.getElementById('HStoreName').value;
ReportViewer.Report.ParameterByName("bdate").AsString = document.getElementById('BDate').value;
paras1 = paras1 + UserName + '`'; var DataURL = encodeURI(Path + "ReportForDB.aspx?sid=" + slStoreID + "&bdate=" + slBdate + "&id=" + id + "¶s=" + paras1);
ReportViewer.DataURL = DataURL; ReportViewer.Start();
var toolbar = document.getElementById("HToolbar").value;
if (toolbar != '') {
var toolbarArr = toolbar.split(','); for (var i = 0; i < toolbarArr.length; i++) {
if (toolbarArr[i] != '') {
var Arrindex = parseInt(toolbarArr[i]);
ReportViewer.RemoveToolbarControl(Arrindex);
}
}
ReportViewer.UpdateToolbar();
}
} else { alert('载入报表失败!'); }
}
}
</script>
报的是这段错误,不是你标红的那段