带有iframe的.ASPX页面中的ASPX页面引发500.23错误



我正在尝试使用iframeChartModule.aspx页面嵌入到Default.aspx页面中。

图表模块有一个按钮事件,用于更新图表。ChartModule有自己的ChartsModule.cs

我得到这个错误:

HTTP错误500.23-内部服务器错误ASP.NET设置检测到不适用于集成管理管道模式。最可能的原因:

•此应用程序定义system.web/httpHandlers中的配置部分您可以尝试的方法:•将配置迁移到system.webServer/handlers部分。您可以手动或使用命令行中的AppCmd。例如,从IIS Express安装目录,运行appcmd migrate config"Default Web Site/"。使用AppCmd迁移应用程序将使其能够在集成模式。它将继续在经典模式和IIS的早期版本。•如果你确定可以忽略此错误,可以通过设置禁用system.webServer/validation@validateIntegratedModeConfiguration到错误。•或者,将应用程序切换到经典模式应用程序池。例如在IIS Express安装目录中,run appcmd set app"默认网站/"/applicationPool:"Clr4ClassicAppPool"。只有当你不能这样做以迁移您的应用程序。

详细错误信息:模块配置验证模块通知开始请求处理程序
PageHandlerFactory-Integrated-4.0请求的错误代码0x80070032URLhttp://localhost:4161/Default.aspx物理路径
C: \文件和Settings\singhm\Desktop\Temp\Trial2\Trial2\Default.aspx登录方法尚未确定登录用户尚未确定请求跟踪目录

为什么会这样?

虽然这可能无法直接回答您的问题,但有一个想法:

如果可以选择,可以考虑将ChartModule.aspx转换为UserControl(ascx),它的作用就像另一个"页面"(相同的生命周期、它自己的代码绑定文件等),但可以更干净地集成到现有的aspx页面中。上面的链接应该是创建和使用UserControls的一个很好的介绍。

错误消息包含解决方案的线索:

system.webServer/validation@validateIntegratedModeConfiguration设置为假

因此,请确保web.config中存在以下内容:

<validation validateIntegratedModeConfiguration="false"/>

例如:

<configuration>
  <!-- your existing settings -->
  <system.webServer>
    <!-- Add this to here.... -->
    <validation validateIntegratedModeConfiguration="false"/>
  </system.webServer>
</configuration>

目前,IIS 7和ASP.NET对其中包含的错误消息和提示非常有用,因此您应该花时间阅读它们。

我真的建议在asp.net中使用用户控制页面而不是iframes,这样你就可以通过来绑定用户控制

public override DataBind()

因为您可以将任何内容传递到用户控制页面中,如刷新数据、加载某些数据等。

最新更新