Asp net html display

Asp net html display

Кроме html-хелперов форм, которые создают различные элементы формы, фреймворк ASP.NET Core MVC также имеет шаблонные (или шаблонизированные) хелперы . В отличие от рассмотренных в прошлой главе html-хелперов они не генерируют определенный элемент html. Шаблонные хелперы смотрят на свойство модели и генерируют тот элемент html, который наиболее подходит данному свойству, исходя из его типа и метаданных.

В ASP.NET MVC имеются следующие шаблонные хелперы:

  • Display Создает элемент разметки для отображения значения указанного свойства модели: Html.Display(«Name»)
  • DisplayFor Строго типизированный аналог хелпера Display: Html.DisplayFor(m => m.Name)
  • Editor Создает элемент разметки для редактирования указанного свойства модели: Html.Editor(«Name»)
  • EditorFor Строго типизированный аналог хелпера Editor: Html.EditorFor(m => m.Name)
  • DisplayText Создает выражение для указанного свойства модели в виде простой строки: Html.DisplayText(«Name»)
  • DisplayTextFor Строго типизированный аналог хелпера DisplayText: Html.DisplayTextFor(m => m.Name)

Это были одиночные хелперы, которые генерируют разметку только для одного свойства модели. Но кроме них во фреймворке также есть еще несколько шаблонов, которые позволяют создать разом все поля для всех свойств модели:

  • DisplayForModel Создает поля для чтения для всех свойств модели: Html.DisplayForModel()
  • DisplayTextForModel Создает поля для чтения для всех свойств модели в виде строки
  • EditorForModel Создает поля для редактирования для всех свойств модели: Html.EditorForModel()

Html.Display

Например, пусть у нас есть стандартная модель User:

public record class User(int Id, string Name, int Age);

Пусть в методе контроллера передается объект этой модели в представление:

public IActionResult Details()

И для вывода данных используем в представлении хелпер Html.Display :

@model MvcApp.Models.User 

Id:
@Html.Display("Id")

Имя:
@Html.Display("Name")

Возраст:
@Html.Display("Age")

вывод данных модели и Html.Display в ASP.NET Core MVC и C#

Аналогичный вывод мы могли бы сделать, применив строго типизированную версию хелпера:

@model HtmlHelpersApp.Models.User 

Id:
@Html.DisplayFor(u=>u.Id)

Имя:
@Html.DisplayFor(u=>u.Name)

Возраст:
@Html.DisplayFor(u=>u.Age)

Либо можно было бы вывести все данные разом:

Html.Editor

Html.Editor работает во многом аналогично. Допустим, у нас есть действие, которое принимает объект модели User:

[HttpGet] public IActionResult Create() => View(); [HttpPost] public string Create(User user) => $" - ";

Тогда мы могли бы определить следующую форму:

@model MvcApp.Models.User @using (Html.BeginForm("Create", "Home", FormMethod.Post)) < 

@Html.LabelFor(m=>m.Name, "Имя")
@Html.Editor("Name")

@Html.LabelFor(m => m.Age, "Возраст")
@Html.EditorFor(m => m.Age)

>

редактирование модели и метод Html.EditorFor в ASP.NET Core MVC и C#

Что важно, хелпер Html.Editor смотрит на тип свойства и на основании типа генерирует то или иное поле. Например, для свойства Age будет сгенерировано поле . И если в прошлой теме нам явным образом приходилось указывать тип для Html.TextBox:

Здесь это хелпер сделает автоматически.

Источник

Asp net html display

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core 7

Кроме html-хелперов форм, которые создают различные элементы формы, фреймворк ASP.NET Core MVC также имеет шаблонные (или шаблонизированные) хелперы . В отличие от рассмотренных в прошлой главе html-хелперов они не генерируют определенный элемент html. Шаблонные хелперы смотрят на свойство модели и генерируют тот элемент html, который наиболее подходит данному свойству, исходя из его типа и метаданных.

В ASP.NET MVC имеются следующие шаблонные хелперы:

  • Display Создает элемент разметки для отображения значения указанного свойства модели: Html.Display(«Name»)
  • DisplayFor Строго типизированный аналог хелпера Display: Html.DisplayFor(m => m.Name)
  • Editor Создает элемент разметки для редактирования указанного свойства модели: Html.Editor(«Name»)
  • EditorFor Строго типизированный аналог хелпера Editor: Html.EditorFor(m => m.Name)
  • DisplayText Создает выражение для указанного свойства модели в виде простой строки: Html.DisplayText(«Name»)
  • DisplayTextFor Строго типизированный аналог хелпера DisplayText: Html.DisplayTextFor(m => m.Name)

Это были одиночные хелперы, которые генерируют разметку только для одного свойства модели. Но кроме них во фреймворке также есть еще несколько шаблонов, которые позволяют создать разом все поля для всех свойств модели:

  • DisplayForModel Создает поля для чтения для всех свойств модели: Html.DisplayForModel()
  • DisplayTextForModel Создает поля для чтения для всех свойств модели в виде строки
  • EditorForModel Создает поля для редактирования для всех свойств модели: Html.EditorForModel()

Html.Display

Например, пусть у нас есть стандартная модель User:

public class User < public int Id < get; set; >public string Name < get; set; >public int Age < get; set; >>

Пусть в методе контроллера передается объект этой модели в представление:

public IActionResult Details() < User tom = new User < Name = "Tom", Age = 35 >; return View(tom); >

И для вывода данных используем в представлении хелпер Html.Display :

@model HtmlHelpersApp.Models.User 

Id:
@Html.Display("Id")

Имя:
@Html.Display("Name")

Возраст:
@Html.Display("Age")

Html.Display в ASP.NET Core

Аналогичный вывод мы могли бы сделать, применив строго типизированную версию хелпера:

@model HtmlHelpersApp.Models.User 

Id:
@Html.DisplayFor(u=>u.Id)

Имя:
@Html.DisplayFor(u=>u.Name)

Возраст:
@Html.DisplayFor(u=>u.Age)

Либо можно было бы вывести все данные разом:

Html.Editor

Html.Editor работает во многом аналогично. Допустим, у нас есть действие, которое принимает объект модели User:

public IActionResult Create() < return View(); >[HttpPost] public IActionResult Create(User user) < return Content($"- "); >

Тогда мы могли бы определить следующую форму:

@model HtmlHelpersApp.Models.User @using (Html.BeginForm("Create", "Home", FormMethod.Post)) < 

@Html.LabelFor(m=>m.Name, "Имя")
@Html.Editor("Name")

@Html.LabelFor(m => m.Age, "Возраст")
@Html.EditorFor(m => m.Age)

>

Html.EditorFor в ASP.NET Core

Что важно, хелпер Html.Editor смотрит на тип свойства и на основании типа генерирует то или иное поле. Например, для свойства Age будет сгенерировано поле . И если в прошлой теме нам явным образом приходилось указывать тип для Html.TextBox:

Здесь это хелпер сделает автоматически.

Источник

Читайте также:  Create pipe in java
Оцените статью