Как отображать HTML в предварительном теге в ASP.NET MVC

В веб-форме ASP Classic (aspx) я мог отображать весь HTML в теге PRE, например это:

Страница в Интернете:

<pre><asp:label id="ContentBox" runat="server"></asp:label></pre>

Код программной части:

ContentBox.Text = html string;

Тогда весь HTML отображается на веб-странице правильно.

Мне интересно, как я мог бы сделать то же самое в представлении ASP.NET MVC Razor. На данный момент я вижу необработанную строку HTML.

Строка HTML может быть такой:

<?xml version="1.0" encoding="utf-8"?>
<html>
  <head>
    <title>A title</title>
    <style>
          .td_header {background-color: white; text-align:left}
          .table_header {background-color: white; width: 100%}
        </style>
  </head>
  <body>
    <table style="table_header" frame="void">
      <tr>
        <td class="td_header">
          <img src="logo_v3.jpg" alt="Helping" width="261" height="50" />
        </td>
      </tr>
    </table>
  </body>
</html>

person Jason Li    schedule 15.06.2012    source источник
comment
отправьте свой код, и тогда мы сможем сказать. мы не знаем, что ты делаешь на самом деле.   -  person Idrees Khan    schedule 16.06.2012


Ответы (2)


Это должно сделать это:

<pre>@Html.Raw(Model.HtmlString)</pre>
person bluevector    schedule 15.06.2012
comment
Большое Вам спасибо. Это работает в основном. Мне просто нужно исправить кое-какие мелочи. Это определенно способ сделать это. - person Jason Li; 16.06.2012

Что-то вроде этого

<pre>
 @Html.LabelFor(m=>m.ContentBox)
<pre>

Это предполагает, что у вас есть свойство contentbox в вашей модели.

И это выведет что-то вроде

<pre>
 <label> blah blah </label>
<pre>

Но я думаю, вы думаете, что вам нужны элементы управления asp для представления данных... это не так.

В вашем методе действия контроллера заполните ваш контент в сумке просмотра

@ViewBag.ContentBox ="Hello World";

На ваш взгляд используйте это.

<pre>
     @ViewBag.ContentBox
<pre>

Должен отображаться так, как вы ожидаете.

Если вы представляете HTML, вам нужно обернуть его в @html.raw()

person Peter    schedule 15.06.2012