1

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

1 回答 1

0

您的主视图是否也显示类别?您正在传递“列表”一个 categoryModel。这对于主视图和部分视图是否足够。

于 2009-12-30T10:51:48.130 回答