【发布时间】:2014-02-17 22:19:23
【问题描述】:
我有一个使用 SSRS 进行报告的 ASP.NET MVC 应用程序(使用 Web 表单和报告查看器)。我想将两个参数动态传递给远程报告。我当前的实现将参数存储在会话中,这在 VS 开发服务器上运行良好,但在 IIS 上,在 Web 表单中检索时变量为空。
这里是调用视图的控制器方法
public ActionResult ShowReport(string id)
{
var reportParameters = new Dictionary<string, string>();
reportParameters.Add("Param1", id);
reportParameters.Add("Param2", "user1");
Session["reportParameters"] = reportParameters;
return View("ReportName");
}
这是我尝试从网络表单中检索参数的方式
protected void Page_Load(object sender, EventArgs e)
{
var reportParameters = (Dictionary<string, string>)Session["reportParameters"];
foreach (var item in reportParameters)
{
ReportParameter rp = new ReportParameter(item.Key, item.Value);
ReportViewer1.ServerReport.SetParameters(rp);
}
}
有人知道为什么 Session["reportParameters"] 为空吗? 还是有其他方式传递这些参数?
【问题讨论】:
标签: asp.net asp.net-mvc reporting-services