使用jquery get加载html局部视图

时间:2013-06-25 07:39:55

标签: asp.net-mvc jquery asp.net-mvc-4

我想使用Jquery和Get方法在div中加载一个html局部视图(我不想要帖子)。 但我有一个错误“JsonRequestBehavior”需要AllowGet。

我不明白这个错误,因为我的dataType是html而不是json。 fiddler显示标题为“Accept:text / html, / ; q = 0.01”。

如何加载部分视图?

我的HTML

<div id="view" class="box">
</div>
<button id="button" type="button">Next ></button>
<script type="text/javascript">
$(document).ready(function () {
        $("#button").click(function () {
$.ajax({
                type: "GET",
                dataType: 'html',
                url: "/declarations/ValiderHeures/1234/15-06-2013/",
                sucess: function (result) {
                    alert('ok');
                    // replace html div
                }
            });
);
</script>

我的控制器

public ActionResult ValiderHeures(Int32 id, DateTime date)
{
   FaireUneDeclarationViewModel vm = new FaireUneDeclarationViewModel();
   vm.Load(User.Identity.Name, this.UserId.Value);
   return (vm);        
}

我发现了我的问题:

谢谢,我发现了我的错误:

在我的基础控制器中我有:

protected override void OnException(ExceptionContext filterContext)
        {
            if (filterContext.HttpContext.Request.IsAjaxRequest())
            {
....
filterContext.Result = new JsonResult { Data = new GenericJsonResult() { Message = filterContext.Exception.Message == null ? "Une erreur a été détectée !" : filterContext.Exception.Message, Error = true } };
....
}
}

错误在wiew中,我的基本控制器errorException返回一个Json结果。

1 个答案:

答案 0 :(得分:0)

如果你这样做会有什么不同;

 return PartialView("View", vm);