(webdevサーバーから実行されているバニラasp.netサイトでこれをテストしましたが、ここでも問題です):
.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>
(RSS リンク "&" は "&" にエンコードされています)
ただし、マークアップを
<!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>
(head タグに runat="server" がない場合)、結果の 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 に「&」を含めることができるようにしたいのですが、ケーキを食べて食べるために使用できるトリックがあります。それも?
あなたのアンドレアス