У меня есть страница, в которой перечислены все ученики и предложены пользователям добавить новую.ValidationSummary on partial View
Student Controller:
public ActionResult Index()
{
return View(db.getStudents());
}
public ActionResult Create(Student student)
{
if (ModelState.IsValid)
{
//some code here
}
else
{
return RedirectToAction("Index");
}
}
Частичный вид 'Index':
@model IEnumerable<Student>
@Html.DisplayNameFor(model => model.StudentName)
@foreach (var item in Model) {
@Html.DisplayFor(modelItem => item.StudentName)
}
@{ Html.RenderAction("Create", "Student"); }
Частичный вид 'Создать':
@model Student
@using (Html.BeginForm("Create", "Student", FormMethod.Post))
{
@Html.ValidationSummary(true, "")
@Html.LabelFor(model => model.StudentName)
@Html.EditorFor(model => model.StudentName)
@Html.ValidationMessageFor(model => model.StudentName, "")
<input type="submit" value="Create" />
}
Моя проблема:
Когда я отправляю форма Create
, и если модель недействительна, она перенаправляется на Index
без отображения ValidationMessage
и ValidationSummary
.
Что я должен изменить, чтобы сохранять сообщения об ошибках?
вы должны вернуться в тот же вид, что и return this.view (ваша модель) вместо redirecttoAction –
@frebin francis, если я получу только Create view без представления List. – koryakinp