我的dotnetnuke網站在IE9中看起來很好,但在IE8 & IE7中中斷。如何強制將dotnetnuke渲染到IE9中
我已經試過了meta標籤:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
,但如果我把它放在ASCX(1號線),但它沒有顯示出來。如果我把它放在頁面設置 - 標籤中,它會顯示在標題的底部。所以它也沒有這樣工作,如何讓標籤在頂部或有任何其他方式?
在此先感謝。
我的dotnetnuke網站在IE9中看起來很好,但在IE8 & IE7中中斷。如何強制將dotnetnuke渲染到IE9中
我已經試過了meta標籤:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
,但如果我把它放在ASCX(1號線),但它沒有顯示出來。如果我把它放在頁面設置 - 標籤中,它會顯示在標題的底部。所以它也沒有這樣工作,如何讓標籤在頂部或有任何其他方式?
在此先感謝。
您可以使用一些代碼來添加指令。在你的皮膚(或者,在由每個皮膚控制引用控制),添加以下內容:
<script runat="server">
private void Page_PreRender(object sender, EventArgs e)
{
var meta = new HtmlMeta();
meta.Content = "IE=edge";
meta.HttpEquiv = "X-UA-Compatible";
this.Page.Header.Controls.AddAt(0, meta);
}
</script>
這就要求AutoEventWireup
在Control directive如此。否則,您還需要覆蓋OnInit
或類似的東西來手動連接事件。
我試過這個,但是我得到一個錯誤: 錯誤BC30205:聲明期滿。 – 2013-03-18 13:33:22
此代碼片段位於C#中。將其翻譯爲VB,或將Control語句中的'Language'更改爲C#。 – bdukes 2013-03-18 14:06:15
謝謝,它現在工作正常! – 2013-03-20 15:10:06
我不建議這樣做,但您可能需要將此添加到網站根目錄下的default.aspx中,如果您這樣做了,則需要記住在升級DNN時再次執行此操作未來。
我還沒有看到這種情況之前,但這是它是如何使用IE 9時模仿IE 8/7完成:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
如果沒有,那麼試試這個:
<meta http-equiv="X-UA-Compatible" content="IE=9">
將這些添加到您的標題與其他元標記。這應該強制IE10呈現爲IE9。
你有訪問IIS嗎? – notandy 2013-02-27 15:10:12