Разделитель Asp.net <% заменен на <% в заголовке тега? - PullRequest
5 голосов
/ 08 октября 2011

Возможно, это глупый вопрос, но у меня есть эта проблема в Visual Studio 2010:

на главной странице у меня есть этот код:

<head runat="server">

    <title>App Title</title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
    <link href="<%= App.RootPath %>Css/style.css" rel="stylesheet" type="text/css" />
</head>

по какой-то странной причине <% изменяется во время выполнения с &lt;%

<%= App.RootPath %> работает нормально, если поместить его вне тега head.

Кто-нибудь никогда не сталкивался с этим и не решил?

UPDATE:

Если я уберу runat = "server" в теге head, это сработает. Но мне это нужно.

Edit:

Все эти методы работают, но проблема в отсутствии дизайнерской поддержки?

Ответы [ 5 ]

5 голосов
/ 08 октября 2011

Объяснение вашего трюка:

<link <%= "href='" +App.RootPath +"Css/style.css'" %> rel="stylesheet" type="text/css" />

Чтобы найти ответ, сгенерируйте исключение при компиляции.Измените App.RootPath на App.RootPaths.., затем перейдите к исходному коду (он будет показан на странице ошибок).Если компилятор соответствует чему-то вроде <link href='' rel='' >, он сгенерирует код для создания соответствующего экземпляра HtmlLink.Вот почему он анализирует <%= как буквальную строку и после этого кодирует ее.

Ваш трюк обманывает компилятор, что совсем неплохо.

Я считаю, что он делаетто же самое для мета-тегов, (HtmlMeta)

2 голосов
/ 08 октября 2011

Это тоже должно работать.

<link href="<%= App.RootPath + "Css/style.css" %>" rel="stylesheet" type="text/css"/>
2 голосов
/ 08 октября 2011

На данный момент, я нашел это workaroud;все еще ищет причину этого поведения.

<link <%= "href=" +App.RootPath +"Css/style.css" %> rel="stylesheet" type="text/css" />
1 голос
/ 09 октября 2011

Я обычно использую ResolveUrl:

<link href='<%= Page.ResolveUrl("~Css/style.css") %>' rel="stylesheet" type="text/css"/>
0 голосов
/ 15 июля 2018
**problem**
 <link rel="canonical" href="http://www.kayserianadoluhaber.com.tr/haber/<%=kanonikal%>" />

**solved**
 <link rel="canonical" href="http://www.kayserianadoluhaber.com.tr/haber/<%=kanonikal+""%>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...