Сначала убедитесь, что вы правильно настроили свойства модели представления:
public class Category
{
public int ID { get; set; }
public string Name { get; set; }
}
Затем укажите имя действия и имя контроллера, который обрабатывает действие POST в BeginForm
помощник:
@* assumed the controller name is 'CategoryController' *@
@using (Html.BeginForm("Create", "Category", FormMethod.Post))
{
// form contents
}
И, наконец, измените имя параметра, чтобы избежать конфликта имен в связывателе модели по умолчанию, а также удалите BindAttribute
, поскольку в действии POST в качестве параметра указан строго типизированный класс viewmodel:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Category model)
{
if (ModelState.IsValid)
{
db.Categories.Add(model);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(model);
}
Связанная проблема:
Действие POST с передачей нулевого ViewModel