c# MVC 和 Webform 传递变量

本文关键字:变量 Webform MVC | 更新日期: 2023-09-27 18:34:19

我的应用程序是一个 MVC 应用程序,但我需要使用报表查看器控件,该控件只是一个 Web 窗体控件。

目前我使用 cookie 将参数从我的 MVC 应用程序传递到 aspx 页面,但我想知道是否有更干净的解决方案。

c# MVC 和 Webform 传递变量

由于各种原因,我们还被迫在 MVC 应用程序中使用报表查看器控件 ASP.NET 回到 MVC <= 2 很久以前。我们只需在路由中忽略它,然后像微型 Web 窗体应用程序一样运行它所在的文件夹。

在实际报表查看器 Web 窗体的代码后面,我们查找特定参数并从会话覆盖函数和帮助程序发送它们:

foreach (ItemParameter rp in parameters)
{
  if (rp.Name == "ReportUser")
    paramList.Add(new ReportParameter("ReportUser", CurrentUser.Id.ToString(), false));
  if (rp.Name == "Current_User_Id")
    paramList.Add(new ReportParameter("Pas_Current_User_Id", CurrentUser.Id.ToString(), false));

。等等,该参数列表由 SSRS Web 服务的 GetItemParameters 方法提供给我们。https://msdn.microsoft.com/en-us/library/reportservice2010.reportingservice2010.getitemparameters.aspx

附言顺便说一下,我并不是提倡将此作为最佳实践。这只是我们在MVC早期必须做的事情,以使事情顺利进行。我喜欢OP评论中提到的Codeplex项目的外观。这对我来说看起来要优雅得多。