這很奇怪。我說奇怪,因爲在IE 8和以上(以及FF)我的網站生成的Html.ActionLink()創建一個url正確的形式 - >http://mydomain.com/myapp/mycontroller/myaction但在IE 7和IE8運行在兼容模式生成的網址如 - >http:///myapp/mycontroller/myaction。這也影響使用Url.Content()的任何內容。Internet Explorer 7 + MVC 3 =錯誤的網址?
這是一個問題,因爲我有用戶仍然堅持IE 7爲親愛的生活(我也不明白)。另外,我們的Active Directory策略爲一些(不是全部)用戶設置了一些東西,以便IE 8被強制進入兼容模式並且不能關閉。它也覆蓋兼容性元標記。
MVC中應該檢查什麼?有沒有我需要看的web.config設置?
代碼: 操作鏈接:
@Html.ActionLink("My Text", "Action", "Controller", new { Param1 = Model.Param1 }, new { @class = "linkButton" })
Url.Content:
Url.Content("~/Content/openHS.png")
更新: 我發現了一個類似的項目處理這一問題在PHP中:Why can't I use relative URLs with IE7?
提到一對夫婦在網絡上的其他文章使用<base>
標題標籤..現在試試這個。使用搜索「相關網址」「Internet Explorer 7」
當呈現包含Html.ActionLink的頁面時,頁面源代碼中的URL是什麼樣子的?它看起來像/ Controller/Action還是以http:// domain/app/controller/action的形式出現? – 2012-04-10 13:06:54
顯示您的Html.ActionLink()的代碼我相信您在其中包含域。 – HaBo 2012-04-10 13:21:10
@Andy:嗯......這兩個來源(IE8在compat和non-compat模式中)呈現給/ Controller/Action,但瀏覽器正在解釋它,如上所述。 – 2012-04-10 13:22:57