2014-12-04 2 views
5

Я пытаюсь отобразить адрес из моей модели. Строка содержит разрывы строк, которые я заменяю тегом break. Хотя, это превращение на странице в виде строки вместо HTML. Как я могу заставить свою строку отображать вместо HTML?Извлечь строку как HTML в C# Razor

Попытка:

<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 
+1

вы должны разделить строку. –

+0

@ DanielA.White - Прошу прощения, первый день с использованием C#. Поэтому я должен разделить его и сохранить его как разные переменные и сделать их на разных строках? – Fizzix

+1

Используйте '@ Html.Raw (Model.MyData.Address.Replace (" \ r \ n ","
"))' – dom

ответ

9

Использование @Html.Raw(Model.MyData.Address.Replace("\r\n", "<br />"))

+4

Соблюдайте это, как если бы адрес пользователя '1234 lane', у вас будут проблемы с xss –

+0

@JohnKoerner - Не беспокойтесь, мы очищаем все и отформатируем адрес перед сохранением в базе данных. Спасибо за головы, хотя. – Fizzix

0

Использование сСт s, чтобы сохранить Пустое пространство

Html

<div id="addressLine"> 
    @Model.MyData.Address; 
</div> 

Css

#addressLine { 
    white-space: pre; 
} 
+0

@downvoter - серьезно? –