モデルから住所をレンダリングしようとしています。文字列には、breakタグで置き換えている改行が含まれています。ただし、ページ上ではHTMLとしてではなく文字列としてレンダリングされます。文字列を強制的にHTMLとしてレンダリングするにはどうすればよいですか?
試行:
<span id="addressLine">
@Model.MyData.Address.Replace("\r\n", "<br />");
</span>
ページの結果:
Address Top<br />Street Name<br />City<br />PostCode
次のように表示されます
Address Top
Street Name
City
PostCode
@Html.Raw(Model.MyData.Address.Replace("\r\n", "<br />"))
を使用します
Cssを使用して空白を保持します
HTML
<div id="addressLine">
@Model.MyData.Address;
</div>
Css
#addressLine {
white-space: pre;
}
代わりにCSSの空白プロパティを使用する必要があります。詳細については、 http://www.w3schools.com/cssref/pr_text_white-space.asp にアクセスしてください
また、クロスサイトスクリプティングの回避にも役立ちます( http://en.wikipedia.org/wiki/Cross-site_scripting )