大家好你们好
我在mvc3中不专业,在父视图中验证孩子有问题
我有一个描述产品的页面(称为Details),并有一个局部视图,用于对特定产品进行评论(名为addUserReview)
我在“详细信息”视图中使用此局部视图,如果用户输入的输入数据有问题,则用户单击“发送”按钮提交评论时,结果将显示在addUserReviwe页面上。但我想在“详细信息”页面中显示错误,
这是我的代码:
public ActionResult AddUserReview(FormCollection form )
{
UserReview userReview = new UserReview();
if(ModelState.IsValid)
{
TryUpdateModel(userReview);
// check whether user is Login or not
userReview.UserName = User.Identity.IsAuthenticated ? User.Identity.Name : Constants.AnonymousUserReviewerName;
storeDB.UserReviews.Add(userReview);
try{
storeDB.SaveChanges();
}
catch(Exception ex )
{
return View();
}
}
return View();
}
最佳答案
由于您将表单收集发布到操作中,因此您应该手动检查表单属性。
ViewData.ModelState.AddModelError("XXX", form["XXX"], "XXX is wrong");
在视图中,您可以显示错误:
<%= Html.ValidationMessage("XXX") %>
但是我建议制作模型并将模型付诸实践。不是formCollection。