- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 MVC3 应用程序中的普通 ASP.NET aspx 页面上使用 Crystal 报表查看器。在 Controller 操作中,我只是重定向到 aspx 页面,报告显示正常。但问题在于动态图像。我找到了最简单的解决方案,将图像路径作为报告参数传递,并将该参数设置为图像源。在 Visual Studio 预览中,这工作正常,但在执行时我在页面上看到此错误。
"NetworkError: 404 Not Found - server/ReportWebForms/CrystalImageHandler.aspx?dynamicimage=cr_tmp_image_4fbcb73a-e001-4365-84fc-164788dd1605.png"
因此,由于之前没有使用 Crystal 报表的经验,我认为问题出在 CrystalImageHandler.aspx 中。我在 Web.config 中有这些条目:
<httpHandlers><add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></httpHandlers></system.web>
<handlers><add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/></handlers></system.webServer>
这是 MVC 类型的问题吗?有人可以帮忙吗?
谢谢
最佳答案
我也遇到了同样的问题,但幸运的是我有一些使用 Crystal Reports 的经验。
您只需要更改 Web.config,因为“path”属性设置为站点根目录。如果您在浏览器中打开 URL 并从中删除 ReportWebForms,它将起作用。
实际上我刚刚添加了另外 2 行配置:
<system.web>
<httpHandlers>
<add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
<!-- Added -->
<add verb="GET" path="Reports/CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
<add verb="GET,HEAD" path="asset.axd" validate="false" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" />
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
<add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode" />
<!-- Added -->
<add name="CrystalImageHandler.aspx_GETR" verb="GET" path="Reports/CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode" />
<remove name="asset" />
<add name="asset" preCondition="integratedMode" verb="GET,HEAD" path="asset.axd" type="Telerik.Web.Mvc.WebAssetHttpHandler, Telerik.Web.Mvc" />
</handlers>
</system.webServer>
最后,您必须为 MVC 应用程序的路由添加忽略规则:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
// Here is added new ignore rule
routes.IgnoreRoute("Reports/{resource}.aspx/{*pathInfo}");
就我而言,我有一个名为 Reports 的文件夹,其中放置了 .aspx 文件。我想您应该根据您的情况将其更改为 ReportWebForms。
关于asp.net-mvc - 找不到 CrystalImageHandler.aspx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11357854/
我在 MVC3 应用程序中的普通 ASP.NET aspx 页面上使用 Crystal 报表查看器。在 Controller 操作中,我只是重定向到 aspx 页面,报告显示正常。但问题在于动态图像。
我是一名优秀的程序员,十分优秀!