我想使用MVC4的新「捆綁和縮小」。MVC4綁定/縮小與IE條件註釋
對於IE有條件的評論,我仍舊這樣做:<!--[if lt IE 9]><link href=.../><![endif]-->
或<!--[if lt IE 9]>@Styles.Render("~/foo")<![endif]-->
但我似乎沒有得到自動調試/發佈處理。
有沒有內置的方法來做到這一點?其他人如何做到這一點?
編輯:
此外,它將很高興能夠包含<noscript>
標記內渲染輸出(用於回退)。
我想使用MVC4的新「捆綁和縮小」。MVC4綁定/縮小與IE條件註釋
對於IE有條件的評論,我仍舊這樣做:<!--[if lt IE 9]><link href=.../><![endif]-->
或<!--[if lt IE 9]>@Styles.Render("~/foo")<![endif]-->
但我似乎沒有得到自動調試/發佈處理。
有沒有內置的方法來做到這一點?其他人如何做到這一點?
編輯:
此外,它將很高興能夠包含<noscript>
標記內渲染輸出(用於回退)。
直到我找到更好的方法,我做了名爲Bundles
適配器類,它具有方法:
public static IHtmlString RenderStylesIe(string ie, params string[] paths) {
var tag = string.Format("<!--[if {0}]>{1}<![endif]-->", ie, Styles.Render(paths));
return new MvcHtmlString(tag);
}
有腳本的一個類似的方法。一種觀點稱他們爲:
@Bundles.RenderStylesIe("lt IE 9", "~/Content/foo")
@Bundles.RenderScriptsIe("lte IE 7", "~/Scripts/bar")
如果有更好的方法,我會很感激的建議。
即將發佈的1.1-alpha1更新將支持使用Scripts/Styles助手進行自己的標記格式化。
有一個新的DefaultTagFormat屬性,它是默認設置爲:
"<script src="{0}"></script>"
還有一個RenderFormat方法,這需要在標籤格式爲好。你應該能夠用這些控制渲染。在格式化字符串中你想要做什麼?
雖然沒有看到樣本/簽名,但不確定它是否可以與您的新更改一起工作,因爲條件註釋放置在腳本/樣式標籤之外。我在答案中描述的方式並不理想,但它很好地工作。 –
此外,這只是個人喜好!我喜歡使用我的班級調用'Bundles'而不是'Styles'和'Scripts'的能力。它更獨立。你所描述的新方法聽起來非常有用。 –
基本上這個格式就是我們用來生成單個腳本/鏈接標籤的東西。所以你可以這樣做:Scripts.RenderFormat(「<! - [if lte IE 7]> {0} 」,paths) –
我發現另一種是在這裏:https://coderwall.com/p/5zqvkg
它是偏好的問題
(愛尚碼以上 - 這是更清潔和讀取更容易
@Bundles.RenderStylesIe("lt IE 9", "~/Content/foo")
@Bundles.RenderScriptsIe("lte IE 7", "~/Scripts/bar")
)
上面的鏈接發佈了一個在實踐中不起作用的解決方案 – WebDever
這種方法的缺點是,如果我有一堆需要「如果lt IE 9」和「if lte IE 7」的樣式或腳本,那麼這些必須放入單獨的捆綁包中,並分別進行渲染。 –
還不確定在'
我發現這個解決方案非常優雅 –