На этом уроке мы реализуем отправку истории и добавление её в базу данных. Мы рассмотрим возможные ошибки, которые могут возникнуть при этом.
Дата отправки отчёта:
1 ноября 2018 г.
Задание выполнено: за
17 час. 28 мин.
Чему научился:
добавили привязку к Модели в представлении Views - story - add.cshtml Добавили поля(хелперы) для ввода пользователем своей истории для загрузки на сайт. Контроллер передаёт данные в Представление(что именно надо отобразить), для выполнения этого в storyController.cs в методе ActionResult add в return View() в скобки дописали story В Story.cs отредактировали доступ до публичного для строковых title, story, email В storyController.cs в методе ActionResult add добавили полям title, story, email значения по умолчанию. Добавили кнопку Сабмит за пределами хелперов. При нажатии в браузере менюхи "Добавить историю" отрабатывает метод GET, заполняющий поля значениями по умолчанию, хранящимися в ActionResult add, а при нажатии кнопки СОХРАНИТЬ отрабатывает метод POST. Продублировали метод add для ГЕТ и для ПОСТ. Добавили метод Insert возвращающий номер записи в типе лонг. Написали редирект для защиты от повторной отправки одной и той же истории. Отредактировали указание электропочты в истории, на случай, если нет @ Модифицировали сообщения об ошибках из булевого в строковый тип.
Научился: Научился добавлять данные из формы на странице в базу.
Вообще, очень познавательно. Интересно попробовать переписать это под Entity Framework - наверное это предпочтительный способ создания сайта, но всегда полезно узнать, как оно работает, когда прописываешь всё руками. Трудности: Немного пришлось поискать, как получать Id последней совершённой записи в базу в MSSQL, так как в отличие от MySQL здесь нет удобной функции получения Id псоледней записи, а надо прописывать получение сразу в строке добавления записи в базу, причём существует несколько способов, каждый со своими особенностями. Microsoft же...