Отображать прямой HTML из данных модели C # MVC на странице CSHTML? или добавить HTML разрывы строк на стороне сервера? - PullRequest
0 голосов
/ 18 марта 2019

Есть ли способ отобразить прямой HTML из данных модели C # MVC на странице CSHTML? или добавить HTML разрывы строк на стороне сервера?

Есть ли способ отобразить прямой HTML из данных модели C # MVC, используя @Html.DisplayNameFor(), или есть метод @Html.DisplayNameAsHTMLFor()?

Модель имеет следующее:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Mvc.Rendering;

public class PersonObjModel
{
    [Required]
    [Display(Name = "I AGREE")]
    public bool IAgree { get; set; }

    [Required]
    [Display(Name = "<br />Welcome! <br />What is your name?")]
    public string Name { get; set; }
 }

Как отобразить эти разрывы HTML на моей веб-странице,
чтобы он не отображал HTML в виде текста?

.CSHTML страница имела следующее:

@model HoldemCore.Models.PersonObjModel

@using (Html.BeginForm())
{
  <fieldset>
    <div class="editor-label">
        @Html.DisplayNameFor(model => model.IAgree)
    </div>
    <div class="display-field">
        <input type="checkbox" id="IAgree" name="IAgree"
           @if (Model.IAgree) { "checked value=\"true\"".ToString(); }
           @if (!Model.IAgree) { "value=\"false\"".ToString(); }
           onchange="this.value = this.checked;" />
    </div>
    <div class="editor-label">
        @Html.DisplayNameFor(model => model.Name)
    </div>
    <div class="display-field">
        @Html.EditorFor(model => model.Name)
    </div>
  </fieldset>
}

проверенные значения не отображались в источнике правильно, а HTML отображался в виде текста в поле [Показать (имя] для поля [Имя] *

.CSHTML страница имеет следующее .. @ Html.Raw () является ответом

@ модель HoldemCore.Models.PersonObjModel

@using (Html.BeginForm())
{
  <fieldset>
    <div class="editor-label">
        @Html.DisplayNameFor(model => model.IAgree)
    </div>
    <div class="display-field">
        <input type="checkbox" id="IAgree" name="IAgree"
           @if (Model.IAgree) { @Html.Raw("checked value=\"true\""); }
           @if (!Model.IAgree) { @Html.Raw("value=\"false\""); }
           onchange="this.value = this.checked;" />
    </div>
    <div class="editor-label">
        @Html.Raw(@Html.DisplayNameFor(model => model.Name))
    </div>
    <div class="display-field">
        @Html.EditorFor(model => model.Name)
    </div>
  </fieldset>
}

1 Ответ

0 голосов
/ 18 марта 2019

.CSHTML страница имеет следующее .. @ Html.Raw () является ответом

@ модель HoldemCore.Models.PersonObjModel

@using (Html.BeginForm())
{
  <fieldset>
    <div class="editor-label">
        @Html.DisplayNameFor(model => model.IAgree)
    </div>
    <div class="display-field">
        <input type="checkbox" id="IAgree" name="IAgree"
           @if (Model.IAgree) { @Html.Raw("checked value=\"true\""); }
           @if (!Model.IAgree) { @Html.Raw("value=\"false\""); }
           onchange="this.value = this.checked;" />
    </div>
    <div class="editor-label">
        @Html.Raw(@Html.DisplayNameFor(model => model.Name))
    </div>
    <div class="display-field">
        @Html.EditorFor(model => model.Name)
    </div>
  </fieldset>
}
...