Пакетирование / минификация MVC4 с условными комментариями IE

Я пытаюсь использовать новую MVC4 "связывание и минимизация".

Для условных комментариев IE я все еще делаю по-старому:<!--[if lt IE 9]><link href=.../><![endif]--> или же<!--[if lt IE 9]>@Styles.Render("~/foo")<![endif]--> но я не получаю автоматическую обработку отладки / выпуска.

Есть ли встроенный способ сделать это? Как другие делают это?

РЕДАКТИРОВАТЬ:
Также было бы здорово иметь возможность включать<noscript> теги внутри визуализированного вывода (используется для отступления).

Ответы на вопрос(3)

https://coderwall.com/p/5zqvkg

Это вопрос предпочтения

(Все еще люблю код выше - он намного чище и легче читается

@Bundles.RenderStylesIe("lt IE 9", "~/Content/foo")
@Bundles.RenderScriptsIe("lte IE 7", "~/Scripts/bar")

)

 WebDever07 окт. 2014 г., 18:44
Приведенная выше ссылка опубликовать решение, которое не работает на практике
Решение Вопроса

я сделал класс адаптера под названием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")

Если есть лучший способ, я буду признателен за совет.

 Steven Ryssaert22 янв. 2015 г., 13:44
Я нашел это решение довольно элегантным
 Bobby B13 окт. 2012 г., 09:30
Также не уверены в элегантном способе выпекать в<noscript> тэг, обычно используемый для откатов css.
 Bobby B13 окт. 2012 г., 09:23
Недостаток этого подхода заключается в том, что если у меня есть набор стилей или сценариев, для которых требуется «if lt IE 9» и «if lte IE 7», то они должны быть помещены в отдельные пакеты и отображаться отдельно.

в котором будет реализована поддержка форматирования тегов с помощью помощников Scripts / Styles.

Есть новое свойство DefaultTagFormat, которое по умолчанию установлено в:

"<script src="{0}"></script>"

Есть также метод RenderFormat, который также принимает формат тега. Вы должны быть в состоянии контролировать рендеринг с этим. Возможно ли то, что вы пытаетесь сделать в строке формата?

 Bobby B17 окт. 2012 г., 00:37
Блестящий, это то, что нам нужно. С нетерпением жду релиза.
 Hao Kung19 окт. 2012 г., 23:22
1.1-alpha1 теперь на nuget, так что вы можете попробовать это.nuget.org/packages/Microsoft.AspNet.Web.Optimization
 Bobby B16 окт. 2012 г., 23:51
Не уверен, не увидев образец / подпись, но не уверен, что он может работать с вашими новыми изменениями, так как условные комментарии размещаются вне тега script / style. Способ, который я описал в своем ответе, не идеален, но работает хорошо.
 Hao Kung17 окт. 2012 г., 00:33
В основном формат будет тем, что мы используем для создания отдельных тегов скрипта / ссылки. Таким образом, вы можете сделать что-то вроде: Scripts.RenderFormat ("<! - [if lte IE 7]> {0} <! [Endif] ->", paths)
 Bobby B16 окт. 2012 г., 23:53
Кроме того, и это только личные предпочтения! Мне нравится возможность использовать мой класс для вызоваBundles скорее, чемStyles а такжеScripts, Это более автономно. Описанные вами новые методы звучат очень полезно.

Ваш ответ на вопрос