Загрузить MVC PartialView через Ajax - PullRequest
0 голосов
/ 31 августа 2011

На мой взгляд, у меня есть:

$.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 голосов
/ 05 апреля 2012

Вы возвращаете объект Json. Вам необходимо вернуть HTML. В подобных случаях я объявляю тип возвращаемого действия как ActionResult и возвращаю частичное представление.

...