我有一个ASP.NET Web窗体页面,其中包含一个表单,我将其作为弹出窗口加载到<iframe>
。
在所有现代浏览器中,它都很棒。
然而,在IE9及以下版本中,事情很奇怪。
单击其浏览按钮时,一个文件输入元素无法打开文件选择对话框。
修好后(用JS技巧),我看到了另一个问题。表单中的另一个按钮,带有此回发属性:
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnUpload", "", true, "", "", false, false))"
..无法调用背后的代码。
当页面加载时,它会命中服务器上的OnLoad()方法。
我已经搜索了整个网络,试图找到一个解决方案,我已经看到其他人在iframe中遇到JS问题,但似乎没有任何帮助。 有谁知道这里可能有什么问题? 这显然是一个IE9问题,但我该如何解决呢?
更新 经过几次尝试后,我得到了一个拒绝访问&#34;在表单发布期间,虽然我不应该(它位于同一个域,并且应该允许访问)。
UPDATE2:我搜索了有关X-FRAME-OPTION:x-frame-option SAMEORIGIN and clickjacking in ASP.NET的内容,但在Application_BeginRequest
中执行此操作似乎没有帮助:
HttpContext.Current.Response.AddHeader("x-frame-options", "SAMEORIGIN");
相关问题: Get Error WebPage Access is denied in IE
UPDATE3:好的。拒绝访问是因为我将点击发送给JS输入的文件。 IE不喜欢它。浏览按钮的神秘之处仍然存在。也许是传播到ASP.NET控件的Telerik问题:http://www.telerik.com/forums/browse-button-doesnot-workin-ie8#rGGhp26Lm02afXkJNMwQ3g
答案 0 :(得分:0)
行。我终于使用RadUpload而不是普通的上传ASP.NET控件解决了这个问题。