Aspx designer vb что это
Перейти к содержимому

Aspx designer vb что это

В чем разница между страницами designer.vb и.vb?

Я новичок в области 3.5. Я заметил, что при создании формы веб-контента он создает страницу aspx.designer.vb в дополнение к странице aspx.vb. Может ли кто-нибудь объяснить мне разницу и цель каждого?

Может ли кто-нибудь объяснить мне разницу и цель каждого?

Является ли дизайнер связанным с автогенерированным кодом структурой и содержит необходимый код для элементов управления, которые вы разместили в своей форме на поверхности дизайнера. Если вы хотите, вы можете вносить изменения в свой элемент управления и чувствовать себя с помощью окна свойств desinger (или) даже с использованием этого файла конструктора.

aspx.vb — это файл, в котором присутствует фактический блок кода на стороне сервера. Как и методы управления обработчиками событий и т.д.

подумайте о том, чтобы ознакомиться с документацией MSDN, чтобы получить более полное представление о том же.

Проект Vb aspx, мне нужна помощь, чтобы понять логику

Я программист Java, и мне впервые нужно столкнуться с веб-проектом VB и ASP.NET. Я нашел несколько очень простых руководств о том, как работает ASP.NET, но я не очень хорошо понял, как работает логика. Этот проект состоит из множества связанных файлов, основной шаблон, который я нашел:

  • файл.ascx
  • файл.ascx.designer.vb

Как эти файлы работают и взаимодействуют? Я пытаюсь понять это в логике MVC, но не могу понять.

Отбросьте логику MVC у себя в голове. ASPX не использует MVC (по крайней мере, по умолчанию).

Создание классов модели в Entity Framework (VB)

В этом руководстве описано, как использовать ASP.NET MVC с Платформой Microsoft Entity Framework. Вы узнаете, как с помощью мастера сущностей создать модель данных сущности ADO.NET. В рамках этого руководства мы создадим веб-приложение, которое иллюстрирует, как выбирать, вставлять, обновлять и удалять данные базы данных с помощью Entity Framework.

Цель этого руководства — объяснить, как создавать классы доступа к данным с помощью Платформы Microsoft Entity Framework при создании приложения ASP.NET MVC. В этом руководстве не предполагается, что предыдущие знания о Microsoft Entity Framework отсутствуют. В конце этого руководства вы узнаете, как использовать Entity Framework для выбора, вставки, обновления и удаления записей базы данных.

Microsoft Entity Framework — это средство реляционного сопоставления объектов (O/RM), которое позволяет автоматически создавать уровень доступа к данным из базы данных. Entity Framework позволяет избежать трудоемкой работы по созданию классов доступа к данным вручную.

Между ASP.NET MVC и Microsoft Entity Framework нет существенного соединения. Существует несколько альтернатив Entity Framework, которые можно использовать с ASP.NET MVC. Например, можно создать классы модели MVC с помощью других средств O/RM, таких как Microsoft LINQ to SQL, NHibernate или SubSonic.

Чтобы проиллюстрировать, как использовать Платформу Microsoft Entity Framework с ASP.NET MVC, мы создадим простое пример приложения. Мы создадим приложение «База данных фильмов», которое позволяет отображать и редактировать записи базы данных фильмов.

В этом руководстве предполагается, что у вас есть Visual Studio 2008 или Visual Web Developer 2008 с пакетом обновления 1 (SP1). Для использования Entity Framework требуется пакет обновления 1. Вы можете скачать Visual Studio 2008 с пакетом обновления 1 (SP1) или Visual Web Developer с пакетом обновления 1 (SP1) по следующему адресу:

Создание образца базы данных movie

Приложение «База данных фильмов» использует таблицу базы данных с именем Movies, которая содержит следующие столбцы:

Имя столбца Тип данных Разрешить значения NULL? Первичный ключ?
Идентификатор INT False Да
Заголовок nvarchar(100) False False
Директор nvarchar(100) False False

Эту таблицу можно добавить в проект MVC ASP.NET, выполнив следующие действия.

  1. Щелкните правой кнопкой мыши папку App_Data в окне Обозреватель решений и выберите пункт меню «Добавить», «Создать элемент».
  2. В диалоговом окне «Добавление нового элемента» выберите SQL Server Database, присвойте базе данных имя MoviesDB.mdf и нажмите кнопку «Добавить«.
  3. Дважды щелкните файл MoviesDB.mdf, чтобы открыть окно обозревателя сервера или обозревателя баз данных.
  4. Разверните подключение к базе данных MoviesDB.mdf, щелкните правой кнопкой мыши папку «Таблицы» и выберите пункт меню «Добавить новую таблицу«.
  5. В конструкторе таблиц добавьте столбцы идентификатора, заголовка и директора.
  6. Нажмите кнопку «Сохранить » (она содержит значок флоппи), чтобы сохранить новую таблицу с именем Movies.

После создания таблицы базы данных Movies необходимо добавить в таблицу некоторые примеры данных. Щелкните правой кнопкой мыши таблицу Movies и выберите пункт меню «Показать данные таблицы«. Вы можете ввести поддельные данные фильма в появиющуюся сетку.

Создание модели данных сущности ADO.NET

Чтобы использовать Entity Framework, необходимо создать модель данных сущности. Вы можете воспользоваться преимуществами мастера Visual Studio модели данных сущности, чтобы автоматически создать модель данных сущности из базы данных.

Выполните следующие действия.

  1. Щелкните правой кнопкой мыши папку Models в окне Обозреватель решений и выберите пункт меню «Добавить», «Создать элемент«.
  2. В диалоговом окне «Добавление нового элемента » выберите категорию данных (см. рис. 1).
  3. Выберите шаблон модели данных сущности ADO.NET , присвойте модели данных сущности имя MoviesDBModel.edmx и нажмите кнопку «Добавить «. Нажатие кнопки «Добавить» запускает мастер моделей данных.
  4. На шаге «Выбор содержимого модели » выберите параметр «Создать из базы данных » и нажмите кнопку «Далее » (см. рис. 2).
  5. На шаге «Выбор подключения к данным » выберите подключение к базе данных MoviesDB.mdf, введите параметры подключения сущностей MoviesDBEntities и нажмите кнопку «Далее » (см. рис. 3).
  6. На шаге «Выбор объектов базы данных » выберите таблицу базы данных Movie и нажмите кнопку «Готово » (см. рис. 4).

После выполнения этих действий откроется конструктор моделей данных сущностей (конструктор сущностей) ADO.NET.

Рис. 1. Создание модели данных сущности

clip_image002

Рис. 2. Выбор шага содержимого модели

clip_image004

Рис. 3. Выбор подключения к данным

clip_image006

Рис. 4. Выбор объектов базы данных

clip_image008

Изменение модели данных сущности ADO.NET

После создания модели данных сущности можно изменить модель, воспользовавшись преимуществами конструктора сущностей (см. рис. 5). Конструктор сущностей можно открыть в любое время, дважды щелкнув файл MoviesDBModel.edmx, содержащийся в папке Models в окне Обозреватель решений.

Рис. 5. Конструктор моделей данных сущности ADO.NET

clip_image010

Например, конструктор сущностей можно использовать для изменения имен классов, создаваемых мастером данных модели сущностей. Мастер создал класс доступа к данным с именем Movies. Другими словами, мастер дал классу то же имя, что и таблица базы данных. Так как мы будем использовать этот класс для представления определенного экземпляра Movie, мы должны переименовать класс из Movies в Movie.

Если вы хотите переименовать класс сущности, можно дважды щелкнуть имя класса в конструкторе сущностей и ввести новое имя (см. рис. 6). Кроме того, можно изменить имя сущности в окно свойств после выбора сущности в конструкторе сущностей.

Рис. 6. Изменение имени сущности

clip_image012

Не забудьте сохранить модель данных сущности после внесения изменений, нажав кнопку «Сохранить» (значок диска floppy). Конструктор сущностей создает набор классов Visual Basic .NET. Эти классы можно просмотреть, открыв файл MoviesDBModel.Designer.vb из окна Обозреватель решений.

Не изменяйте код в файле Designer.vb, так как изменения будут перезаписаны при следующем использовании конструктора сущностей. Если вы хотите расширить функциональные возможности классов сущностей, определенных в файле Designer.vb, можно создать разделяемые классы в отдельных файлах.

Выбор записей базы данных с помощью Entity Framework

Давайте приступим к созданию приложения «База данных фильмов», создав страницу со списком записей фильмов. Контроллер Home в листинге 1 предоставляет действие с именем Index(). Действие Index() возвращает все записи фильмов из таблицы базы данных Movie, используя платформу Entity Framework.

Листинг 1 . Controllers\HomeController.vb

Обратите внимание, что контроллер в листинге 1 содержит конструктор. Конструктор инициализирует поле уровня класса с именем _db. Поле _db представляет сущности базы данных, созданные Платформой Microsoft Entity Framework. Поле _db является экземпляром класса MoviesDBEntities, созданного конструктором сущностей.

Поле _db используется в действии Index() для получения записей из таблицы базы данных Movies. Выражение _db. MovieSet представляет все записи из таблицы базы данных Movies. Метод ToList() используется для преобразования набора фильмов в универсальную коллекцию объектов Movie: List(Of Movie).

Записи фильма извлекаются с помощью LINQ to Entities. Действие Index() в листинге 1 использует синтаксис метода LINQ для получения набора записей базы данных. При желании вместо этого можно использовать синтаксис запросов LINQ. Следующие два оператора выполняют одну и ту же вещь:

Используйте любой синтаксис LINQ — синтаксис метода или синтаксис запросов, который можно найти наиболее интуитивно понятным. Нет разницы в производительности между двумя подходами — единственное различие заключается в стиле.

Представление в листинге 2 используется для отображения записей фильмов.

Листинг 2 — Views\Home\Index.aspx

Представление в листинге 2 содержит цикл For Each , который выполняет итерации по каждой записи фильма и отображает значения свойств заголовка и директора записи фильма. Обратите внимание, что рядом с каждой записью отображается ссылка «Изменить и удалить». Кроме того, ссылка «Добавить фильм» отображается в нижней части представления (см. рис. 7).

Рис. 7. Представление индекса

clip_image014

Представление индекса — это типизированное представление. Представление индекса имеет директиву <%@ Page %> с атрибутом «Наследуется». Атрибут Inherits приводит свойство ViewData.Model к строго типизированной универсальной коллекции списков объектов Movie — list(Of Movie).

Вставка записей базы данных с помощью Entity Framework

Entity Framework позволяет легко вставлять новые записи в таблицу базы данных. В списке 3 содержатся два новых действия, добавленных в класс контроллера home, которые можно использовать для вставки новых записей в таблицу базы данных Movie.

Листинг 3 . Controllers\HomeController.vb (Добавление методов)

Первое действие Add() просто возвращает представление. Представление содержит форму для добавления новой записи базы данных фильма (см. рис. 8). При отправке формы вызывается второе действие Add().

Обратите внимание, что второе действие Add() украшено атрибутом AcceptVerbs. Это действие можно вызывать только при выполнении операции HTTP POST. Другими словами, это действие можно вызвать только при публикации HTML-формы.

Второе действие Add() создает новый экземпляр класса Entity Framework Movie с помощью метода ASP.NET MVC TryUpdateModel(). Метод TryUpdateModel() принимает поля в FormCollection, переданном методу Add(), и назначает значения этих полей формы HTML классу Movie.

При использовании Entity Framework необходимо указать «безопасный список» свойств при использовании методов TryUpdateModel или UpdateModel для обновления свойств класса сущности.

Затем действие Add() выполняет простую проверку формы. Действие проверяет, имеют ли свойства Title и Director значения. При возникновении ошибки проверки в ModelState добавляется сообщение об ошибке проверки.

Если ошибок проверки нет, новая запись фильма добавляется в таблицу базы данных Movies с помощью Entity Framework. Новая запись добавляется в базу данных со следующими двумя строками кода:

Первая строка кода добавляет новую сущность Movie в набор фильмов, отслеживаемых Entity Framework. Вторая строка кода сохраняет все изменения, внесенные в фильмы, отслеживаемые обратно в базовую базу данных.

Рис. 8. Представление «Добавление»

clip_image016

Обновление записей базы данных с помощью Entity Framework

Вы можете следовать практически тому же подходу к изменению записи базы данных с entity Framework, что и при вставке новой записи базы данных. В листинге 4 содержатся два новых действия контроллера с именем Edit(). Первое действие Edit() возвращает HTML-форму для редактирования записи фильма. Второе действие Edit() пытается обновить базу данных.

Листинг 4 . Controllers\HomeController.vb (Методы редактирования)

Второе действие Edit() начинается с получения записи Movie из базы данных, которая соответствует идентификатору редактируемого фильма. Следующая инструкция LINQ to Entities захватывает первую запись базы данных, соответствующую определенному идентификатору:

Затем метод TryUpdateModel() используется для назначения значений полей ФОРМЫ HTML свойствам сущности фильма. Обратите внимание, что предоставляется список надежных списков, указывающих точные свойства для обновления.

Далее выполняется простая проверка, чтобы убедиться, что свойства «Название фильма» и «Режиссер» имеют значения. Если любое из свойств отсутствует значение, то сообщение об ошибке проверки добавляется в ModelState и ModelState.IsValid возвращает значение false.

Наконец, если ошибок проверки нет, базовая таблица базы данных Movies обновляется с любыми изменениями путем вызова метода SaveChanges().

При редактировании записей базы данных необходимо передать идентификатор редактируемой записи в действие контроллера, которое выполняет обновление базы данных. В противном случае действие контроллера не будет знать, какая запись будет обновляться в базовой базе данных. Представление «Изменить», содержащееся в листинге 5, содержит скрытое поле формы, представляющее идентификатор редактируемой записи базы данных.

Листинг 5 — Views\Home\Edit.aspx

Удаление записей базы данных с помощью Entity Framework

Последняя операция базы данных, которую необходимо решить в этом руководстве, удаляет записи базы данных. Действие контроллера в листинге 6 можно использовать для удаления определенной записи базы данных.

Листинг 6 — \Controllers\HomeController.vb (действие удаления)

Действие Delete() сначала извлекает сущность Movie, соответствующую идентификатору, переданной действию. Затем фильм удаляется из базы данных путем вызова метода DeleteObject(), за которым следует метод SaveChanges(). Наконец, пользователь перенаправляется обратно в представление индекса.

Сводка

Цель этого руководства — продемонстрировать, как можно создавать веб-приложения на основе баз данных, используя преимущества ASP.NET MVC и Microsoft Entity Framework. Вы узнали, как создать приложение, которое позволяет выбирать, вставлять, обновлять и удалять записи базы данных.

Во-первых, мы рассмотрели, как с помощью мастера модели данных сущности создать модель данных сущности из Visual Studio. Далее вы узнаете, как использовать LINQ to Entities для получения набора записей базы данных из таблицы базы данных. Наконец, мы использовали Entity Framework для вставки, обновления и удаления записей базы данных.

Добавить комментарий

Ваш адрес email не будет опубликован.