【发布时间】:2015-02-07 05:57:42
【问题描述】:
我有一个页面列出了所有学生并提示用户添加新学生。
学生监督:
public ActionResult Index()
{
return View(db.getStudents());
}
public ActionResult Create(Student student)
{
if (ModelState.IsValid)
{
//some code here
}
else
{
return RedirectToAction("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(your model) 而不是redirecttoAction
-
@frebin francis,如果我这样做了,我只会得到没有列表视图的创建视图。
标签: asp.net-mvc validation razor asp.net-mvc-partialview