C# SSRS报告赢得';如果URL中有多个参数,则无法启动

C# SSRS报告赢得';如果URL中有多个参数,则无法启动,c#,asp.net,reporting-services,parameters,ssrs-2008,C#,Asp.net,Reporting Services,Parameters,Ssrs 2008,我正在尝试从.NET应用程序向SSRS报告传递参数 我要传递3个参数:instanceID、EL和OL 在我的代码隐藏中,我有如下代码: string params = Session["instanceID"].ToString() + "&EL=unhide&OL=unhide"; string script = "<SCRIPT LANGUAGE='JavaScript'> "; script += "OpenLi

我正在尝试从.NET应用程序向SSRS报告传递参数

我要传递3个参数:instanceID、EL和OL

在我的代码隐藏中,我有如下代码:

        string params = Session["instanceID"].ToString() + "&EL=unhide&OL=unhide";
        string script = "<SCRIPT LANGUAGE='JavaScript'> ";
        script += "OpenLink1(" + params + ");";
        script += "</SCRIPT>";
        Page.RegisterStartupScript("ClientScript", script);
function OpenLink1(params ) {
    var str = "http://server/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<report name>%2<report name>&rs:Command=Render&instanceID=" + params;

    window.open(str, "List", "scrollbars=yes,resizable=yes,width=800,height=600");
    return false;
}
string params=Session[“instanceID”]。ToString()+“&EL=unhide&OL=unhide”;
字符串脚本=”;
脚本+=“OpenLink1(“+params+”);”;
脚本+=“”;
RegisterStartupScript(“ClientScript”,script);
我的javascript代码如下所示:

        string params = Session["instanceID"].ToString() + "&EL=unhide&OL=unhide";
        string script = "<SCRIPT LANGUAGE='JavaScript'> ";
        script += "OpenLink1(" + params + ");";
        script += "</SCRIPT>";
        Page.RegisterStartupScript("ClientScript", script);
function OpenLink1(params ) {
    var str = "http://server/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<report name>%2<report name>&rs:Command=Render&instanceID=" + params;

    window.open(str, "List", "scrollbars=yes,resizable=yes,width=800,height=600");
    return false;
}
函数OpenLink1(参数){
var str=”http://server/ReportServer/Pages/ReportViewer.aspx?%2f%2f%2&rs:Command=Render&instanceID=“+参数;
打开(str,“List”,“scrollbars=yes,resizable=yes,width=800,height=600”);
返回false;
}
无论我做什么,报告都不会发布(弹出)

EL和OL参数应隐藏SSRS报告中的表格

e、 g.
=IIF(参数!EL.Value=“hide”,false,true)

如果我从报告中删除这两个参数,并在代码隐藏中删除URL中的参数,则SSRS报告将毫无问题地启动

让我困惑的是,如果我直接在浏览器中输入URL,报告工作正常——这让我相信与我的编码和传递参数有关的东西是错误的


有什么想法吗

问题在于您在代码背后生成的javascript。在生成的javascript中创建函数调用时,需要在params变量周围加上单引号

    script += "OpenLink1('" + params + "');";

非常感谢你。我觉得自己太傻了…尝试了我能想到的每一个技巧来修复它…谢谢你!