返回内容和PartialView

时间:2015-12-17 15:17:54

标签: jquery ajax asp.net-mvc razor

我有以下AJAX调用:

function login() {
    $.ajax({
        type: "POST",
        url: "Account/Login",
        data: $('#myForm').serialize(),
        datatype: "html",
        success: function (data) {
            $('#divNotif').html(data);
        }
    });
};

以下帐户/登录操作:

[HttpPost]
[AllowAnonymous]
public ActionResult Login(LoginViewModel model)
{
    return Content("Text changed!");    
}

Chrome的网络控制台告诉我这花了2.23s

但是,将其更改为

[HttpPost]
[AllowAnonymous]
public ActionResult Login(LoginViewModel model)
{
    return PartialView("~/Views/Home/Notifications/AccountDisabled.cshtml");         
}

结果是ajax调用需要7.67s

PartialView只是一个.cshtml,其中包含Text changed!

可能导致问题的原因是什么?

1 个答案:

答案 0 :(得分:0)

我解决了它,绝对没有想到这一点。将一个文件夹向上移动到~/Views/Home/AccountDisabled.cshtml,呼叫变为

return PartialView("~/Views/Home/AccountDisabled.cshtml");

导致总共2.26s个AJAX通话时间。

这对我来说似乎至少很奇怪,但是好吧......它摆脱了我的问题。