C#.MVC. Представления

Представления – нужны для отображения данных в html формате . В ASP находятся в папке Views\Имя контроллера, имеют разрешение *.cshtml

Пример представления

Создадим новое представление

Правой кнопкой на папке Views -> Add ->View

Из визарда видно, что мы можем выбрать имя, использовать шаблон, выбрать модель и контекст данных.

Create as a partial view – cоздание частичного представления, которое можно потом использовать в других представлениях.

Use a layout page. Использование шаблонов. Если выбран какой-то шаблон, наше представление будет в него вставлено.

Итак, в результате будет сгенерирован такой код.

Все настройки окна создания представления

    • View Name: имя нового представления. После создания ему автоматически будет присваиваться расширение cshtml.
    • Template: шаблон нового представления. Мы можем выбрать из следующего списка шаблонов:
Типы шаблонов представления
    • Empty (without model): создается пустое представление с начальной разметкой
    • Empty: также создается пустое представление, но теперь ниже мы можем выбрать модель, которая будет подключена в представлении с помощью директивы @model
    • Create: генерируется представление с формой для создания новых объектов модели. В этой форме для каждого свойства модели создается отдельное поле
    • Delete: генерируется представление с формой для удаления объектов модели. В этой форме для каждого свойства модели создается отдельное поле
    • Details: генерируется представление, которое отображает значения всех свойств модели
    • Edit: генерируется представление с формой для редактирования имеющихся объектов модели. В этой форме для каждого свойства модели создается отдельное поле
    • List: создается представление, которое отображает все объекты из списка моделей в виде таблицы. Для генерации списка объектов в данное представление необходимо передавать из метода контроллера значение типаIEnumerable<Тип_модели>. Представление также содержит ссылки на методы для выполнения операций создания/правки/удаления.
  • Model class: при выборе одной из предыдущих опций, кроме опции Empty (without model), нам становится доступно это поле, в котором мы можем указать модель для типизации представления. Такое представление будет считаться строго типизированным, то есть привязанным к одному классу модели
  • Data context class: также при выборе одной из предыдущих опций, кроме опции Empty (without model), нам становится доступно это поле, в котором мы можем выбрать класс контекста данных
  • Create as a partial view: позволяет создать частичное представление
  • Reference Script Libraries: эта опция показывает, будет ли представление автоматически подключать стандартный набор библиотек jQuery и прочих файлов JavaScript.
  • Use a layout page: эта опция указывает, будет ли использоваться мастер-страница или представление будет самодостаточным. После установки этой опции нам станет доступным нижнее поле, в котором можно выбрать мастер-страницу. Для движка Razor указание мастер-страницы не является обязательным, если вы собираетесь использовать мастер-страницу, определенную по умолчанию в файле _ViewStart.cshtml. Однако, если вы хотите переопределить мастер-страницу, то можете воспользоваться этой опцией.

Вызов представления из контроллера

Если не указать конкретное представление, то будет искаться представление Index.cshtml

Если указать, будет загружено конкретное представление

Синтаксис Razor

Преобразование кода C# в HTML, примеры

Строго типизированные представления

Представления связанные с определенной моделью, в начале файла пишется

И далее идет обращение к model, например так

HTML-хелперы

Помогают сокращать код разметки, например

И далее, можем обращаться так

Другой пример

Если хэлперы требуют много кода их можно складывать в специальную папку App_Code. Это специальная папка в MVC, ее можно создать через правую кнопку мыши – контекстное меню.

Также можно определять свои хэлперы через классы в С#

Также есть самозакрывающиеся элементы и атрибуты, которые можем добавлять.

Более подробно здесь.

Хэлперы формы

Ввод текста

Более подробно здесь

Html.TextBox

Html.TextArea

Html.Hidden

Html.Password

Html.RadioButton

Html.CheckBox

Html.Label

Html.DropDownList

Html.ListBox

Форма с несколькими кнопками

Строготипизированные хэлперы

This entry was posted in C#. Bookmark the permalink.