2014-12-04 27 views
5

Tôi đang cố gắng hiển thị địa chỉ từ mô hình của mình. Chuỗi chứa các ngắt dòng mà tôi đang thay thế bằng thẻ ngắt. Mặc dù, nó được hiển thị trên trang dưới dạng chuỗi thay vì HTML. Làm cách nào để buộc chuỗi của tôi hiển thị dưới dạng HTML?Hiển thị chuỗi dưới dạng HTML trong C# Razor

Attempt:

<span id="addressLine"> 
    @Model.MyData.Address.Replace("\r\n", "<br />"); 
</span> 

Kết quả trên trang:

Address Top<br />Street Name<br />City<br />PostCode 

nên được hiển thị như:

Address Top 
Street Name 
City 
PostCode 
+1

bạn nên chia chuỗi. –

+0

@ DanielA.White - Xin lỗi bạn đời, ngày đầu tiên sử dụng C#. Vì vậy, tôi nên chia nó ra và lưu nó thành các biến khác nhau và hiển thị chúng trên các dòng khác nhau? – Fizzix

+1

Sử dụng '@ Html.Raw (Model.MyData.Address.Replace (" \ r \ n ","
"))' – dom

Trả lời

9

Sử dụng @Html.Raw(Model.MyData.Address.Replace("\r\n", "<br />"))

+4

Hãy cẩn thận khi sử dụng địa chỉ này, như địa chỉ của người dùng là '1234 lane', bạn sẽ gặp vấn đề xss –

+0

@JohnKoerner - Đừng lo lắng, chúng tôi sẽ xóa sạch mọi thứ và định dạng địa chỉ trước khi lưu trong cơ sở dữ liệu. Cảm ơn cho những người đứng lên mặc dù. – Fizzix

0

Sử dụng cs s để bảo tồn không gian trắng

Html

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

Css

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

@downvoter - nghiêm túc? –

Các vấn đề liên quan