39

MVC 3 と Asp.net C# で Razor を使用しています。

次のコードを含むビューがあります。model.ContentBodyいくつかの HTML タグがあります。

この HTML コンテンツをDECODEDとして表示する必要があります。

ビューでコードを変更するにはどうすればよいですか?

 <div class="display-field">
        @Html.DisplayFor(model => model.ContentBody)
 </div>
4

8 に答える 8

86
<div class="display-field">
    @Html.Raw(Model.ContentBody)
</div>

このコードは問題を解決しました!

于 2012-10-05T06:50:36.877 に答える
48

@Html.Rawここで私のために働いていなかったのは例です:-

  string name = "&lt;p&gt;&lt;span style=&quot;font-size: small; color: #ff0000;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-size: large; color: #000000;&quot;&gt;Hi&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;This is just a sample,&lt;br /&gt;This will not work with @Html.Raw(),&lt;br /&gt;";
  <span>@Html.Raw(name);</span>

しかし、これは代わりに機能しました:-

@MvcHtmlString.Create(HttpUtility.HtmlDecode(@model.ContentBody))

または、次を使用することもできます:-

@Html.Raw(HttpUtility.HtmlDecode(@model.ContentBody));
于 2012-10-05T06:53:38.617 に答える
8

モデルをビューに送信する前に、コントローラーで html をデコードすることもできます。

WebUtility.HtmlDecode()

    public ActionResult Index(int id)
    {
        var content = _contentRepository.GetContent(id);
        var classViewModel = new ClassViewModel
                                 {
                                     ContentBody = WebUtility.HtmlDecode(ClassViewModel.ContentBody)
                                 };
        return View(classViewModel);
    }
于 2013-09-26T06:10:46.280 に答える
2

デコードで使用するHtmlを表示するために使用してください。

@MvcHtmlString.Create(@Model.OurVision)   
于 2014-02-07T08:10:57.870 に答える
0

文字列ではなく、MvcHtmlString として "ContentBody" をモデルに渡します。

このようにして、次のものを使用できます。

<div class="display-field">
        @model.ContentBody
 </div>

コントローラーで MvcHtmlString を取得するには、次を使用します。

MvcHtmlString myHtmlString = MvcHtmlString.Create("htmlcodeandtext");
于 2012-10-05T09:23:01.640 に答える
0

文字列は URL エンコードされている場合もあるため、デコードするには次のようにします。

@Html.Raw(HttpUtility.UrlDecode(string))
于 2021-04-06T23:30:31.807 に答える
-7

コントローラーで次のコードを使用します。

string noHTML = Regex.Replace(inputHTML, @"<[^>]+>|&nbsp;", "").Trim();
于 2014-07-31T06:30:38.443 に答える