2009-12-30 103 views
0

我遇到了这个问题,我在偏好视图中有一个表单,但是在验证它时跳出父视图并单独出现(具有提交操作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

您如何验证?任何示例代码? – 2009-12-30 10:49:25

+0

您的主视图和局部视图的名称是什么? – 2009-12-30 11:17:23

回答

0

贵主视图还显示类别?你正在传递“list”一个categoryModel。这对于主视图和局部视图来说足够了吗?

+0

我在PartialView中有表单标签,但没有嵌套。 – 2009-12-30 11:10:58

+0

我已经更改了我的答案,与您提供的新信息有关。 – 2009-12-30 11:13:16

+0

我使用/ Admin/Category/List加载所有类别 和/ Admin/Category/List/Id加载所有类别加上选择的类别进行编辑 – 2009-12-30 16:03:37