在iFrame中加载时,Asp.Net页面抛出错误

时间:2016-05-12 08:11:45

标签: javascript c# asp.net iframe

仅我的Asp.Net网站就可以正常运行。我们现在使用HTTP GET& amp ;;将此网站加载到第三方网站的iFrame中。 POST方法。在大多数系统中,网页在IE中的iFrame内正确加载。但有些系统,首先我的网站在iframe中正确加载,然后抛出"尝试访问此页面时发生错误"在IE中的iFrame中加载页面时出错。 iFrame中显示错误消息,其中父网站继续正常运行。

我调试了asp.net/C#代码,看起来所有页面加载代码都正确执行,没有异常,但突然出现错误。

我已经比较了系统中的IE设置,试图在两个系统中保持相同的设置,但没有运气。

这个问题可能是什么原因?如果有可能抓住父网站错误?我无法访问父网站代码。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

经过多次破解后我终于能够发现实际的错误。

我做了什么 在IE中使用Tools-> F12 Developer Tools或在IE中按F12。然后使用" Network"用于跟踪导致问题的最后一页/链接的选项卡。发现这是我的网站导致错误。现在是时候找到实际的错误了。

我在Web.Config文件中找到了

<system.web>
<customErrors defaultRedirect="Error.htm" mode="RemoteOnly"/>

这导致重定向到&#34; Error.htm&#34;显示通用自定义错误消息的位置。所以我将上面的customErrors元素替换为

<customErrors mode="Off"/>    

参考:Web.config Custom Errors mode Conflict

现在我收到了实际的错误。错误是:

从客户端检测到一个潜在危险的Request.Form值(ConfigurationRequest =&#34; http://go.microsoft.com/fwlink/?LinkID = 212874。

异常详细信息:System.Web.HttpRequestValidationException:从客户端检测到潜在危险的Request.Form值(ConfigurationRequest =&#34;

现在我需要找出问题发生的原因和根本原因。让我们看看我能找到什么。但它确定这个问题是由来自第三方网站的HTTP GET(Request.Form)调用引起的。

然后我找到A potentially dangerous Request.Form value was detected from the client

我添加<httpRuntime requestValidationMode="2.0"/>对.Net4.0运行时

有效

(如果.Net运行时为2.0则添加<pages validateRequest="false">) 到web.config它开始工作。

但还有一些错误。一些系统中的IE如何不保存Session和profile变量。当我使用会话和配置文件变量时,这会在页面加载时导致一些问题。

我找到了Session Variables not saved when page is in an iFrame

并补充说 IIS中的P3P标头:

名称= p3p 值= CP =&#34; IDC DSP COR CURa ADMa我们的IND PHY ONL COM STA&#34;

enter image description here enter image description here

它在iFrame中启动了工作文件。呼!!!