通过Ajax加载MVC部分视图

时间:2011-08-31 08:03:18

标签: ajax asp.net-mvc asp.net-mvc-partialview

在我的观点中,我有:

$.ajax({
    url: '/Profile/TryToGetPersonalInfo',
    type: 'post',
    success: function (outData) {
        if (outData.loggedIn == true) {
            $('#PersonalInfoData').load(outData.data);
        }
    }
});

在我的控制器中,我有:

[HttpGet]
private ActionResult PersonalInfo()
{
    return PartialView();
}

[HttpPost]
public JsonResult TryToGetPersonalInfo()
{
    // loggedIn is temporary
    return Json( new { loggedIn = true, data = this.PersonalInfo() } );
}

怎么来.load()不能完成这项工作?我也试过.html(),但仍然没有运气。

请注意,我确实希望保留此表单(将ProfileInfo()作为私有),并将TryToGetProfileInfo()作为帖子,因为我正在使用验证令牌。

1 个答案:

答案 0 :(得分:0)

您正在返回一个Json对象。你需要返回html。在类似的情况下,我将action返回类型声明为ActionResult并返回局部视图。