c# - 用于使用参数打开 SSRS 报告新窗口的 ASP 按钮

标签 c# javascript asp.net reporting-services

我正在构建一个带有 C# 代码隐藏的简单 ASP.NET 表单页面。我需要一个按钮(或某种控件)来打开新窗口的链接,并且我找到了可以使用 Javascript 执行此操作的代码,并且我找到了可以使用按钮打开 SSRS 报告的代码从我的 aspx 页面动态传递的参数。我还没有找到任何东西可以同时处理这两个问题。

我的 asp 表单以一个寻找 NPI(ID 类型)的简单文本框开始。该 NPI 用于搜索数据库和填充表单。我还希望页面上有一个按钮,用于获取用户输入的 NPI,并将其传递到打开我的 SSRS 报告的新窗口。

我研究过这个,我知道我可以使用 Javascript 打开一个新窗口,这很棒,但我不知道如何将用户输入 NPI 包含到 JS 版本中。我知道我无法使用代码隐藏来打开新窗口,但我可以使用 Response.Redirect 将 NPI 发送到 SSRS 报告的 URL。我找不到两者的组合。

提前谢谢您。这是我第一次在 StackOverflow 上发帖,尽管它每天都用它来寻求答案。对于我造成的任何困惑,我深表歉意。

文本框:

<asp:TextBox ID="NPI" runat="server" Width="144px"></asp:TextBox>

当前打开我的 SSRS 报告的按钮:

<asp:Button ID="reports" runat="server" Text="View Reports" 
    onclick="reports_Click" />

这是按钮的隐藏代码:

protected void reports_Click(object sender, EventArgs e)  
{  
    Response.Redirect("http://myReportServer/Pages/ReportViewer.aspx?%2fDRPreports%2fApplicantOverview&rs:Command=Render&npi=" + HttpUtility.UrlEncode(NPI.Text));  
}

最佳答案

让我们尝试在新窗口中打开报告。 ASPX:

<asp:TextBox ID="txt" runat="server"></asp:TextBox>
<asp:Button  ID="take" runat="server" onclick="take_Click" Text="no"/>

ASPX.cs 背后的代码:

Response.Write("<script>window.open('../About.aspx?qs=" + txt.Text + "','_blank');</script>");

关于c# - 用于使用参数打开 SSRS 报告新窗口的 ASP 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16214855/

相关文章:

javascript - 使用幻灯片动画展开和折叠

c# - 无法从 Azure KeyVault 读取值。指定的用户没有有效的配置文件

asp.net - 这段代码有什么问题?

c# - ASP.NET : Testing Concurrency

c# - 方法没有支持的 SQL 转换

javascript - 如何以 Pro/Ninja Way 编写 JavaScript 插件?

javascript - 从一组日期中获取每周和每月数据的最佳方法是什么?

c# - 在 Aspx 中分配 C# Lambda Func

c# - 在 ASP.NET 中重命名并发上传的文件

c# - 如何在调用 Task.WaitAll 之前了解异常?