asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.net – ReportViewer 2010无法评估表达式大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的项目是ASP.Net WebForms on 4.0框架,使用ReportViewer 10,使用本地处理模式呈现本地RDLC报告.

我的问题是我的报告中的许多表达都没有评估.例如,我在报告的页脚中有一个文本框,其简单表达式为= Globals!Pagenumber – 但是当报表运行时,我只是在该字段中获得#Error.我得到一个类似的#Error,只是在我的一个字段上做一个ToString – = Fields!MyBooleanField.Value.ToString().

同样在我的页脚中,= datetiR_724_11845@e.Now正在工作,而= Globals!ExecutionTime不起作用.

这对我来说毫无意义 – 就好像我错过了一个参或其他东西.我的项目中引用了Microsoft.ReportViewer.Common(v10)和Microsoft.ReportViewer.WebForms(v10).

任何人都有任何关于我缺少什么的建议,或者我如何解决这个问题?

解决方法

我见过三种选择:

选项1:提升沙箱权限

表达式编译为单独的程序集,并在具有较少权限的沙箱中运行.使用此选项可增加沙箱的权限.您可以批准的权限集可能较小,我们只是没有花时间来解决这个问题.这将意味着报告及其引用的任何程序集将具有提升的权限.这个解决方案适用于我们(MVC 3,.Net 4,VS2010,Microsoft.ReporTing v10),尽管我们尚未部署到生产中.

localReport.SetBasePermissionsForSandboxAppDomain(
    AppDomain.CurrentDomain.PermissionSet.Copy());

选项2:构建.Net 3.5框架

在.Net 3.5下编译您的项目

选项3:legacyCasModel

将其添加到您的web.config:

<system.web>
  <trust legacyCasModel="true" level="Full"/>
</system.web>

这会阻止您使用动态变量(在某些或所有情况下?).特别是,由于ViewBag是动态的,因此无法使用Asp.Net MVC 3.

更多信息

http://social.msdn.microsoft.com/Forums/en-US/vsreportcontrols/thread/be1a6149-a120-4e66-96f8-63f5c4d43c87

http://blogs.msdn.com/b/brianhartman/archive/2010/02/18/expression-evaluation-in-local-mode.aspx

大佬总结

以上是大佬教程为你收集整理的.net – ReportViewer 2010无法评估表达式全部内容,希望文章能够帮你解决.net – ReportViewer 2010无法评估表达式所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。