GET и POST запросы в MVC5

Содержание

Слайд 2

Даем свои email Потом подключаемся к серверу uniummol.visualstudio.com

Даем свои email

Потом подключаемся к серверу uniummol.visualstudio.com

Слайд 3

Регистрация Для работы с отправляемыми данными надо делать всегда 2 функции в Controller

Регистрация

Для работы с отправляемыми данными надо делать всегда 2 функции в

Controller
Слайд 4

Функция для отрисовки страницы public ActionResult Register() { return View(); }

Функция для отрисовки страницы

public ActionResult Register()
{
return View();
}
Чаще всего

она будет выглядеть так, но могут быть исключения
Слайд 5

Функция для получения данных [HttpPost] public ActionResult Register(Userdata user) { if

Функция для получения данных

[HttpPost]
public ActionResult Register(Userdata user)
{
if

(!ModelState.IsValid)
{
return View(user);
}
else
{
//пишем код
return Redirect("/Home/Index");
}
}
Слайд 6

Подключение к БД using(SocialDataBase db = new SocialDataBase()) { if (db.Users.Any(usr

Подключение к БД

using(SocialDataBase db = new SocialDataBase())
{
if (db.Users.Any(usr =>

usr.UserName == user.UserName))
ModelState.AddModelError("","Пользователь с таким именем уже есть");
else
{
db.Users.Add(user);
db.SaveChanges();
}
}
Слайд 7

Проверка на дополнительные ошибки if (!ModelState.IsValid) return View(user); else return Redirect("/Home/Index");

Проверка на дополнительные ошибки

if (!ModelState.IsValid)
return View(user);
else
return Redirect("/Home/Index");

Слайд 8

Создание представления В MVC вместо тега принято использовать @Html.BeginForm() это в

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

В MVC вместо тега

принято использовать @Html.BeginForm() это в

принципе одно и то же
В браузере будет стоять именно
Создадим страничку по шаблону для регистрации
Слайд 9

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

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

Слайд 10

Слайд 11

Изучаем структуру @using (Html.BeginForm()) - @Html.AntiForgeryToken() – Защита (можно игнорировать) @Html.ValidationSummary(true,

Изучаем структуру

@using (Html.BeginForm()) -
@Html.AntiForgeryToken() – Защита (можно игнорировать)
@Html.ValidationSummary(true, "", new

{ @class = "text-danger" }) – Сюда будут писаться ошибки (обратите внимание на класс, зачем он указан?)
@Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" }) – Это подпись, лучше убрать и просто написать свой текст
@Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } }) – это по сути
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" }) – текст ошибки для
Слайд 12

@Html.ActionLink("Back to List", "Index") Просто ссылка лучше убрать


@Html.ActionLink("Back to List", "Index")

Просто ссылка лучше убрать

Слайд 13

Результат

Результат