<% = не хочет печатать в элементе css - PullRequest
4 голосов
/ 29 июля 2011

При использовании элемента ссылки asp не обрабатывает <% = CssVersion%>, а интерпретирует его как буквальную строку

 <link href="../../css/style01.css?<%= CssVersion %>" rel="stylesheet" type="text/css">

, вывод выше:

<link type="text/css" rel="stylesheet" href="../../css/style01.css?<%= CssVersion >">

Но когдаэто используется

<script language="javascript" src="../../js/tiutil_1.0.js?<%= CssVersion %>" type="text/javascript"></script>

Затем распечатывается правильно как

<script type="text/javascript" src="../../js/tiutil_1.0.js?220409" language="javascript"></script>

Есть идеи почему?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Тим Б Джеймс имеет решение;вам необходимо установить элемент управления runat='server', прежде чем вы сможете использовать эти теги замены (<% =%>).

Другое решение, не рекомендуемое для вашей ситуации, - это регистрация переменной javascript с сервера:

Клиентская сторона:

<link href="../../css/style01.css?" +jvCSSVersion+ """ 
    rel="stylesheet" type="text/css">

Серверная сторона:

 Page.ClientScript.RegisterStartupScript(getType(Page), "scrJV", 
    "var jvCSSVersion = '" + CssVersion + "';", true);
1 голос
/ 29 июля 2011

Не знаю, почему это поведение, но я нашел альтернативное решение

<link <%="href='../../css/style01.css?" + CssVersion + "'"%> rel="stylesheet" type="text/css" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...