Помощь в учёбе, очень быстро...
Работаем вместе до победы

Шаблоны формирования каркасов кода (скаффолдинг)

РефератПомощь в написанииУзнать стоимостьмоей работы

MVC Controller with Read/Write Actions and Views, Using Entity Framework — создает контроллер с методами Index, Details, Create, Edit и Delete и представления для этих действий; добавляет код для извлечения информации из базы данных; очень полезен, так как не требуется писать соответствующий код, как в предыдущих шаблонах. Все созданные представления с используемым включенным кодом будут… Читать ещё >

Шаблоны формирования каркасов кода (скаффолдинг) (реферат, курсовая, диплом, контрольная)

При создании MVC-приложений часто требуется создавать представления для одинакового набора действий: добавления, изменения, удаления и просмотра записей из БД. В связи с этим ASP.Net MVC предоставляет возможность использовать шаблоны формирования кода (scaffolding templates). При создании контроллера (раздел 4.2.3) для заданной модели и контекста данных можно автоматически сформировать каркасы представления и контроллера, с помощью которых можно управлять записями в БД. Основными типами шаблонов формирования кода являются:

  • • MVC Controller with Empty Read/Write Actions — добавляет в проект контроллер, который содержит методы Index, Details, Create, Edit и Delete; они не содержат никакого кода и необходимо самим программировать работу действий и представления для них.
  • • MVC Controller with Read/Write Actions and Views, Using Entity Framework — создает контроллер с методами Index, Details, Create, Edit и Delete и представления для этих действий; добавляет код для извлечения информации из базы данных; очень полезен, так как не требуется писать соответствующий код, как в предыдущих шаблонах.

Например, если выбрать шаблон MVC Controller with Read/Write Actions and Views, Using Entity Framework, указать модель Book и контекст данных BookContext, то будет сформирован следующий код (комментарии на русском языке добавлены для пояснения):

public class BookController: Controller {.

private BookContext db = new BookContext ();

// действие для показа списка книг.

// GET: /Book/.

public ActionResult lndex () {return View (db.Books.ToList ());}.

// действие для показа информации о конкретной книге.

// GET: /Book/Details/5.

public ActionResult Details (int id = 0) {.

Book book = db.Books.Find (id);

if (book == null) {return HttpNotFound ();}.

return View (book);

}.

// действие получения формы для описания новой книги.

// GET: /Book/Create.

public ActionResult Create () {return View ();}.

// действия для сохранения в БД информации о новой книге.

// POST: /Book/Create.

[HttpPost] public ActionResult Create (Book book) {.

if (ModelState.lsValid) { db.Books.Add (book); db. SaveChanges ();

return RedirectToAction («lndex»);}.

return View (book);

}.

//действие получения формы для редактирования информации о книге.

// GET: /Book/Edit/5.

public ActionResult Edit (int id = 0) {.

Book book = db.Books.Find (id);

if (book == null) {return HttpNotFound ();}.

return View (book);

}.

// действие сохранения в БД измененной информации о книге.

// POST: /Book/Edit/5.

[HttpPost] public ActionResult Edit (Book book) {.

if (ModelState.lsValid) { db. Entry (book).State = EntityState. Modified;

db.SaveChanges (); return RedirectToActionflndex");

}.

return View (book);

}.

// действие запроса на удаление информации о книге.

// GET: /Book/Delete/5.

public ActionResult Delete (int id = 0) {.

Book book = db.Books.Find (id);

if (book == null) {return HttpNotFound ();}.

return View (book);

}.

//действие на удаление информации о книге из БД.

// POST: /Book/Delete/5 [HttpPost, ActionName («Delete»)].

public ActionResult DeleteConfirmed (int id) {.

Book book = db.Books.Find (id);

db.Books.Remove (book);

db.SaveChanges ();

return RedirectToActionflndex");

}.

//…

)))

Все созданные представления с используемым включенным кодом будут сохранены в папке Views/Book. и их можно редактировать в соответствии с требованиями приложения (например, изменить название страниц, названия автоматически формируемых ссылок и т. п.).

Если запустить проект и перейти в адресной строке браузера к данному контроллеру, то получим web-страницу, показанную на рис. 4.51.

Результат выполнения кода, созданного с помощью скаффолдинга.

Рис. 4.51. Результат выполнения кода, созданного с помощью скаффолдинга.

Показать весь текст
Заполнить форму текущей работой