簡體   English   中英

ASP:菜單在IE10和IE11中未正確顯示,但在Chrome,FF和IE9中看起來都不錯

[英]ASP:Menu not shown correctly in IE10 and IE11, but looks aliright in Chrome, FF and till IE9

我正在使用asp:Menu控件來創建選項卡式導航。 該項目是在.Net 4.0中創建的。

以下用於創建選項卡:

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

這將在除IE10,IE11之外的所有瀏覽器中正確創建選項卡式結構。

實際的標簽在上述瀏覽器中看起來像這樣:

預期的圖片(如IE8,Chrome,FF中所示)

但是在IE10和IE11中,不顯示選項卡。 如果仔細觀察,鏈接就會存在,但存在以下問題:

  1. 它們幾乎看不見。 它們被放在文本后面,而不是作為標簽。
  2. 基本上,不創建選項卡。

IE11中選項卡的圖像

我嘗試了以下方法:

  1. 添加meta http-equiv =“ X-UA-Compatible” content =“ IE = 7,8”標簽。
  2. 添加.browser文件以與App_Browser文件兼容。
  3. 將解決方案中的所有項目從4.0遷移到.Net Framework 4.5.2。
  4. 將z-index CSS屬性應用於asp:menu控件。
  5. 還嘗試在Page_Load中將Page.ClientTarget設置為“ uplevel”。 無濟於事。

我沒辦法。 我應該怎么做才能使其在IE10或IE11中正確顯示。

編輯:其他詳細信息-我觀察到的是,當瀏覽器是IE10或IE11時,發送到瀏覽器的HTML是一個表。 但是,對於其他所有對象,將發送<ul>和<li>作為導航菜單項。 IE10或IE11發送不同HTML的原因可能是什么。

最后,在嘗試了多種解決方案之后,我再次嘗試找出問題所在。 在App_Browser中添加.browser文件應該可以更早地工作。 原因是因為當我添加自己的IE11或IE10特定定義瀏覽器文件時,它覆蓋了基本的.Net定義。

關鍵是在項目級別的app.browser中使用refId引用IE11或IE10,並使refID的值等於位於c:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319的瀏覽器文件中使用的ID。 \\ Config \\瀏覽器。 這將在現有規則之上添加規則。 否則,它將僅覆蓋現有定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM