在父视图中显示子视图的验证asp.net mvc 3

时间:2011-06-04 10:22:09

标签: c# asp.net-mvc asp.net-mvc-3

大家好 我在mvc3中不专业,我在父视图中验证孩子有问题 我有一个描述产品的页面(称为详细信息),并有一个部分视图用于评论特定产品(名为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();
    }

1 个答案:

答案 0 :(得分:0)

由于您将formcollection发布到操作,因此应手动检查表单属性。

ViewData.ModelState.AddModelError("XXX", form["XXX"], "XXX is wrong");

在View中你可以显示错误:

<%= Html.ValidationMessage("XXX") %>

但我建议制作模型并将模型传递给行动。不是formCollection。