#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. Я использовал функцию «Вопросы и ответы одновременно» для этого поста. Мне нужно больше ясности в отношении того, что необходимо обновить, поскольку я не вижу здесь никаких вариантов, таких как [Принять ответ]