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

#c# #html #model-view-controller #model #server-side-rendering

#c# #HTML #модель-вид-контроллер #Модель #рендеринг на стороне сервера

Вопрос:

Есть ли способ отобразить прямой 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 отображался в виде текста в [Отображать (Имя] для поля [Name]

.Страница CSHTML содержит следующее.. @Html.Raw() — это ответ

@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) { @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:

.Страница CSHTML содержит следующее.. @Html.Raw() — это ответ

@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) { @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. Не публикуйте это в ответе

2. чувствовал, что это важный справочный элемент, который был необходим на этом сайте.

3. Я использовал функцию «Вопросы и ответы одновременно» для этого поста. Мне нужно больше ясности в отношении того, что необходимо обновить, поскольку я не вижу здесь никаких вариантов, таких как [Принять ответ]