0

asp:Menuコントロールを使用してタブ付きナビゲーションを作成しています。プロジェクトは.Net 4.0で作成されました。ASP:IE10とIE11ではメニューが正しく表示されませんが、Chrome、FF、IE9までは表示されません。

は、次のタブを作成するために使用されます。

<div class="tabmenustyle displayblock"> 
    <asp:Menu ID="_TabMenu" runat="server" Orientation="Horizontal"> 
    </asp:Menu> 
</div> 

これはIE10、IE11を除くすべてのブラウザで正常にタブ付きの構造を作成しています。

実際のタブが言及したブラウザで正しく次のようになります。

Image for Expected (as seen in IE8,Chrome,FF)

しかし、IE10とIE11のタブは表示されません。リンクは注意深く観察されているが、以下の問題がある。

  1. ほとんど見えない。それらはタブの代わりにテキストの後ろに置かれます。
  2. 基本的に、タブは作成されません。

Image for Tabs in IE11

私は次のことを試してみました:

  1. メタHTTP-当量= "X-UA-互換性のある" コンテンツ= "IE = 7.8" のタグを追加します。
  2. App_Browserファイルとの互換性のための.browserファイルの追加。
  3. ソリューションのすべてのプロジェクトを4.0から.Netフレームワーク4.5.2に移行します。
  4. asp:menuコントロールにZ-インデックスCSSプロパティを適用します。
  5. Page_LoadでPage.ClientTargetを "uplevel"に設定してみました。無駄に。

私は賢明です。私はそれをIE10またはIE11で適切に表示するために何をしようとすべきですか?

編集:追加の詳細 - 私が観察したことは、ブラウザがIE10またはIE11の場合、ブラウザに送信されるHTMLがテーブルであることです。他のすべての場合は< ul>が< li>と一緒にナビゲーションメニュー項目として送信されます。 IE10またはIE11が異なるHTMLで送信される理由は何でしょうか。

+0

人々がもっと助けることができるようにいくつかのコードを投稿しようとしてください –

+0

@Idanbはいくつかのコードを追加しましたが、それが十分であるかどうかは分かりません。他に何が助けてくれるの? –

+0

誰かが実行して問題を再現できるコードを投稿してみてください:) –

答えて

0

最終多数の解決策を試した後、再び問題を特定しようとしました。 AppBrowserでの.browserファイルの追加は、以前のように機能していたはずです。その理由は、独自のIE11またはIE10固有の定義ファイルを追加したときに、.Net定義をオーバーライドしていたためです。

キーはrefIdを使用してプロジェクトレベルのapp.browserでIE11またはIE10を参照し、refIDの値をc:\ Windows \ Microsoft.NET \ Frameworkにあるブラウザファイルで使用されているIDと同じにしておくことでした\ v4.0.30319 \ Config \ Browsersにあります。これにより、既存のルールよりも上のルールが追加されます。それ以外の場合は、既存の定義を上書きします。

関連する問題