Создаем админ панель #1
Всех приветствую! Сегодня мы начнем писать админ панель для нашего блога
Controller
И так, начнем мы со страницы добавления новых статей в базу данных. Для этого нам нужно будет создать новый контроллер, назовем его AdminController. И пропишем в нем следующие функции.
public class AdminController : Controller { private ArticleContext adb; public AdminController(ArticleContext context) { adb = context; } public ActionResult Create() { return View(); } [HttpPost] public async Task<IActionResult> Create(Article article) { adb.articles.Add(article); await adb.SaveChangesAsync(); return RedirectToAction("Index", "Home"); } }
Первая функция Create просто возвращает связанный с ней View здесь нет ничего сложного. Вторая функция это HttpPost функция( ВАЖНО ОНА ДОЛЖНА НАЗЫВАТЬСЯ ТАК ЖЕ КАК И ПЕРВАЯ ), она добавляет в бд новый экземпляр нашей модели. Потом мы сохраняем изменения и возвращаем нас на функцию Index, контроллера Home
View
Теперь напишем представления для нашего контроллера
@model Lessontg.ViewModels.ArticleViewModel <form asp-controller="Admin" asp-action="Create" enctype="multipart/form-data" class="pr-2 pl-2"> <div class="form-group"> <label asp-for="article.Title" class="control-label">Заголовок</label> <input type="text" asp-for="article.Title" class="form-control" /> </div> <div class="form-group"> <label asp-for="article.Text" class="control-label">Текст</label> <textarea asp-for="article.Text" cols="100" rows="5" class="form-control"></textarea> </div> <div class="form-group"> <label asp-for="article.Time" class="control-label">Дата</label> <input type="date" asp-for="article.Time" class="form-control" /> </div> <div class="form-group"> <input type="submit" value="Отправить" class="btn btn-default" style="border: solid 1px #ced4da;" /> </div> </form>
Если вы знакомы с Html, то эта разметка не покажется вам чем-то сложным и непонятным. А для тех кто не понимает, это форма, которая состоит из под-дивов, а они в свою очередь состоят из label`а и input`а
Можете запускать и проверять! В следующий раз напишем функцию для редактирования и удаления записей.
Удачи, программисты!