В моем приложении ASP.NET MVC у меня есть форма с выпадающим списком. Если пользователь не выбрал категорию и отправил форму, я получу исключение. Итак, как я могу отправить ошибку проверки из контроллера в представление? потому что я не хочу писать JavaScript.
Это раскрывающийся список:
@Html.DropDownListFor(m => m.Article.CategoryId, new SelectList(Model.Categories, "Id", "Name"), "Select Category", new { @class = "form-control" })
Я знаю, что этот способ работает, но мне нужен этот ярлык (Выбрать категорию)
@Html.DropDownListFor(m => m.Article.CategoryId, new SelectList(Model.Categories, "Id", "Name"), null, new { @class = "form-control" })
Все и новые контроллеры:
[HttpPost]
public ActionResult New(Article article)
{
if(ModelState.IsValid)
{
string FullName = HttpContext.GetOwinContext()
.GetUserManager<ApplicationUserManager>()
.FindById(User.Identity.GetUserId()).FullName;
article.AuthorName = FullName;
article.UserId = User.Identity.GetUserId();
db.Aricles.Add(article);
db.SaveChanges();
return RedirectToAction("All");
}
}
public ActionResult All()
{
var Articles = db.Aricles.ToList();
return View(Articles);
}
Моя модель:
public class Article
{
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Body { get; set; }
public string UserId { get; set; }
public string AuthorName { get; set; }
public ApplicationUser User { get; set; }
public Category Category { get; set; }
public int CategoryId { get; set; }
}
Я пытался использовать атрибут [Обязательно] , но я не знаю, почему он не работает.
Это скриншот исключения click