Использование встроенных выражений ASP.NET на главной странице
Возможный дубликат:
Встроенный тег не выполняется на главной странице asp.net
У меня есть следующие строки на моей главной странице:
<script type="text/javascript" src="/Scripts/TimeClock/Themes/<%= ThemeName %>/jquery-ui-1.9.2.custom.min.js"></script>
<link href="/Styles/Themes/<%= ThemeName %>/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />
Все компилируется нормально, но когда я запускаю свое веб-приложение, мой файл CSS не загружается. Причина в том, что когда я просматриваю исходный код на отображаемой странице, это выглядит так:
<script type="text/javascript" src="/Scripts/TimeClock/Themes/Smoothness/jquery-ui-1.9.2.custom.min.js"></script>
<link href="/Styles/Themes/<%= ThemeName %>/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />
Похоже, мой тег ASP.NET Server работает для строки сценария, но не для строки CSS. Кто-нибудь знает, что я делаю не так и как это исправить?
1 ответ
Когда вы помещаете его в заголовок, а заголовок содержит прогон на сервере, вы не сможете использовать его без прохода из фильтра заголовка, который также изменяет ту часть, в которой вы столкнулись с проблемой.
Чтобы обойти это, используйте буквальный элемент управления и полностью отобразите его в коде, например:
<asp:Literal runat="server" id="txtScriptOnheader" EnableViewState="false" />
и на коде позади:
txtScriptOnheader.Text = "<link href=\"/Styles/Themes/\"" + ThemeName + "/jquery-ui-1.9.2.custom.css\" rel="stylesheet\" type=\"text/css\" />";