インサイド "a.aspx" のコードは基本的に次のようになります。IE 11のiFrame [UPDATE] URLの問題を欠落している
...
<iframe id="b.aspx" frameborder="0" scrolling="no" src=""></iframe>
...
IFRAMEは空SRCとにrunat = "サーバー"、および分離コードで(C#)私たちが持っています
idOfIFrame.Attributes["src"] = "..."
問題はiframeがないことです。ビューソースでは、コードビハインドによって追加された「有効な」src URLがあることがはっきりとわかります。しかしiframeがあるページは空です。
これは何ヶ月も問題なく実行されました。ユーザーがIE11をアップグレードするまで。
IE 11.0.9600.18097 11.0.25(KB3100773)、IE 11.0.9600.18314 11.0.31(KB3154070)です。これは私がアップグレードし、今私はdevのマシン上の欠落したiframeを再現することができるので、問題を引き起こしているかもしれないようです。
私は少し時間をかけてURLを再生しましたが、新しいブラウザタブに内側の小さなiframeを開いていました。入力してください、まだ空です。どこにコードを書くべきか、何もありません。
私はのaspxファイルでこれを持っている:古いIEのバージョンで
<div>
<asp:GridView>
<Columns>
<asp:TemplateField>
<itemtemplate>
<table>
...
、それはとしてレンダリング:
<div>
<div>
</div>
</div>
:新しいIEのバージョンでは
<div>
<div>
<table></table>
</div>
</div>
、それはとしてレンダリング
問題の原因は何ですか? 2台のコンピュータで同じページを開くことができます(互換性の設定はすべて同じです)。もう1つは動作しますが、私は動作しません。
[UPDATE]
私は、これはURLの問題であることが分かりました。 私はこのようなC#でURLを構築しています:
ifr.Attributes["src"] = "../../xyz.aspx?Module=ToDo&Allow=0&isOk=" + isOk
ビューのソースはこれを示していますIEのこのバージョンは、もはやURL-s内の&
を認識しないよう
"../../xyz.aspx?Module=ToDo&Allow=0&isOk=" + isOk
は思えます。正直なところ、私はMS IE 11バグだと思います。私の変数はURL QueryStringParameterであるIDではなく、デフォルトでゼロに設定されています。