2011-10-13 30 views
59

Tôi cố gắng để vượt qua một yếu tố hình thức vào một cái nhìn MVC3 bằng Viewbag và chỉ cần viết mã HTML vào trang ...Làm thế nào để render HTML từ Viewbag sử dụng MVC3 Razor

Trong điều khiển:

ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">"; 

theo quan điểm (tôi biết tôi có thể sử dụng một helper cho mẫu):

<form action="http://exampleurl/examplepage" method="post" id="example-form"> 
@ViewBag.myData 
<input type="hidden" name="anotherexample" value="anotherexamplevalue" /> 
</form> 

này ám chỉ rằng myData dưới dạng văn bản trong HTML ví dụ:

012.
&lt;type="hidden" name="example" value="examplevalue"&gt; 

Vì vậy, câu hỏi của tôi là làm thế nào để tôi nhận được Razor để làm tương đương trở lên:

<%= myData %> 

và không thay thế <>

Cảm ơn Paul

Trả lời

153

Sử dụng @Html.Raw(ViewBag.Mydata).

+0

Cảm ơn rất nhiều – Sunrise

+2

Bạn đang chào mừng :) Bây giờ hãy đánh dấu một trong những câu trả lời này là được chấp nhận. :) –

+1

xem ai ở đây, cảm ơn, người đàn ông :) – animaonline

20

này nên thực hiện công việc

@Html.Raw((String)ViewBag.myData) 

MSDN: T phương pháp của anh ta kết thúc đánh dấu HTML bằng cách sử dụng lớp IHtmlString, nó làm cho HTML không được mã hóa.

Bạn cần phải cẩn thận khi chấp nhận và hiển thị HTML chưa được mã hóa.

+1

Cảm ơn rất nhiều. HTML sẽ là một bộ xử lý tiền gửi mã hóa trước khi đăng ký nên sẽ ổn thôi. Cảm ơn – Sunrise

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