首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用ASP.NET MVC中的PartialView、AJAX和模型验证属性?

如何利用ASP.NET MVC中的PartialView、AJAX和模型验证属性?
EN

Stack Overflow用户
提问于 2010-11-24 04:21:06
回答 1查看 632关注 0票数 0

我是MVC的新手,正在尝试理解AJAX调用和模型验证。这就是我所拥有的:

一个控制器操作,它为具有单个文本框和链接的视图提供服务。视图如下所示:

代码语言:javascript
复制
<div> 
... 
<input type="text" name="registration" value=""/><a id="checkRegoLink" href="#">Check rego</> 
... 
</div>

checkRegoLink对操作执行$.ajax() POST调用,该操作为PartialViewResult提供服务。

代码语言:javascript
复制
$.ajax({
  url:"/Entry/CheckRego",
  type: "POST",
  data: {...stuff...},
  success: function (data, status, request){
    $("#target").html(data);
  },
});

PartialViewResult提供一个强类型的局部视图_CreateEntry。该视图的模型具有各种属性的一些[Required]属性。下面是这个局部视图的一些片段:

代码语言:javascript
复制
@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) -但它返回的是部分视图本身,带有验证错误消息,但当然是独立的,没有父布局。

任何想法都将不胜感激。在投票和接受答案方面,我正在慢慢变得更好。请原谅我的低统计-我一定会投票的答案,并接受他们,因为我走了。

谢谢,丹尼。

PS。我使用的是MVC 3最新的RC

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-24 08:57:50

尝试使用Ajax.BeginForm()而不是Html.BeginForm()。看看它的用法,它应该允许你指定不同的选项,包括要更新的div。除非你有理由手动做,否则为什么要手动做已经内置的东西呢?

编辑:

您可以说“我的问题是,如何将该部分视图返回到带有验证错误消息的$("#target") div中。”

然后您会说"...但这会返回部分视图本身,并带有验证错误消息,但当然是它本身,没有父布局。“<--这不正是您想要的吗?

这不就是你想要的吗?部分视图是否包含验证错误消息?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4260505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档