我是新来的MVC,并试图让我的头绕AJAX调用和模型验证。以下是我的:如何利用ASP.NET MVC中的PartialView,AJAX和模型验证属性?
一个控制器操作,它为单个文本框和链接提供视图。该视图的样子:
<div>
...
<input type="text" name="registration" value=""/><a id="checkRegoLink" href="#">Check rego</>
...
</div>
的checkRegoLink做一个$阿贾克斯()POST调用一个动作,供应PartialViewResult。
$.ajax({
url:"/Entry/CheckRego",
type: "POST",
data: {...stuff...},
success: function (data, status, request){
$("#target").html(data);
},
});
PartialViewResult提供强类型局部视图_CreateEntry
。该视图的模型具有各种属性的一些[Required]
属性。这里的这个局部视图的一些片段:
@model namespace.EntryModel
@{ Html.EnableClientValidation(); }
@using (Html.BeginForm("CreateEntry", "Entry", FormMethod.Post))
{
...various entry fields, labels and stuff...
<input type="submit" value="Add Entry"/>
}
我的问题是,我该如何返回局部视图回$("#target")
格完成验证错误消息。在从强类型视图接受POST的控制器操作中,我尝试了return PartialView("_CreateEntry",model)
- 但它返回partialview本身,并带有验证错误消息,但当然是在没有父布局的情况下自行完成。
任何想法将不胜感激。我投票并接受答案慢慢好转。请原谅我的低数据 - 我肯定会投票答复并接受他们,因为我去。
谢谢, Dany。
PS。 我正在使用MVC 3最新的RC
是的,你是绝对正确的 - 我早些时候有一点脑梗塞。我最终会看看Ajax.BeginForm(),但现在我已经设法用$ .ajax()jquery调用手动连接它。有一个问题 - 如果我在部分视图中使用Ajax.BeginForm(),我可以在其外部定位一个div,即。在父视图中? – codedog 2010-11-24 02:06:58