(Я проверил это на ванильном сайте asp.net, работающем с сервера webdev, и здесь также есть проблема):
У меня есть следующая разметка в моем файле .master
<!DOCTYPE html>
<html>
<head runat="server">
<link href="/Styles/Site.css" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="rss" href="/Pages/Static/Feed.aspx?type=rss&lang=en" />
</head>
рендеринг html выглядит следующим образом:
<!DOCTYPE html>
<html>
<head>
<link href="/Styles/Site.css" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="asdsad" href="/Pages/Static/Feed.aspx?type=rss&lang=en" />
</head>
(ссылка r & "была закодирована в" & ")
однако, если я изменю разметку на
<!DOCTYPE html>
<html>
<head>
<link href="/Styles/Site.css" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="rss" href="/Pages/Static/Feed.aspx?type=rss&lang=en" />
</head>
(без runat = "server" в теге head), тогда результирующий html получится, как и ожидалось:
<!DOCTYPE html>
<html>
<head runat="server">
<link href="/Styles/Site.css" rel="stylesheet" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="rss" href="/Pages/Static/Feed.aspx?type=rss&lang=en" />
</head>
Очевидно, что Asp.Net что-то кодирует для URL.Как это происходит, мне действительно нужно, чтобы тег head был runat = "server", и я также хотел бы иметь возможность иметь "&" в ссылочных URL-адресах внутри него, есть ли какой-то трюк, который я могу использовать, чтобы получить свой торт и съесть еготоже?
Ваш Андреас