我遇到这个问题,我在部分视图中有一个表单但是在验证它时跳出父视图并且单独出现(具有提交操作URL)。
此外,我尝试使用Render.Action,其中验证根本不会触发。
我正在使用ASP.NET MVC 2 RC,需要使用内置验证来进行服务器端验证。有人有任何建议吗?
由于
代码部分视图:
<%=Html.ValidationSummary() %>
<% using (Html.BeginForm("Edit", "Category", FormMethod.Post))
{%>
<fieldset>
<legend>Edit category</legend>
<p>
<label for="CategoryName">Category name:</label>
<%= Html.TextBox("CategoryName", Model.CategoryName)%>
<%= Html.ValidationMessage("CategoryName", "*")%>
</p>
<p class="submit">
<input type="submit" value="Edit" />
<%=Html.AntiForgeryToken()%>
<%= Html.Hidden("CatId", Model.Id)%>
</p>
</fieldset>
<% }
模型属性:
[Required(ErrorMessage="Required")]
public string CategoryName { get; set; }
编辑操作:
[ValidateAntiForgeryToken]
[HttpPost()]
public ActionResult Edit(int catId, CategoryPageViewModel categoryModel)
{
if (ModelState.IsValid)
{
//TODO
}
return View("list", categoryModel);
}
答案 0 :(得分:0)
您的主视图是否也显示类别?你传递“list”一个categoryModel。这对于主视图和局部视图是否足够。