Создаем админ панель #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`а
Можете запускать и проверять! В следующий раз напишем функцию для редактирования и удаления записей.
Удачи, программисты!