Я думаю, вы должны рассмотреть AcceptTypes запроса. Я использую его в моем текущем проекте, чтобы вернуть правильный тип контента следующим образом.
Ваше действие на контроллере может проверить его как на объекте запроса
if (Request.AcceptTypes.Contains("text/html")) {
return View();
}
else if (Request.AcceptTypes.Contains("application/json"))
{
return Json( new { id=1, value="new" } );
}
else if (Request.AcceptTypes.Contains("application/xml") ||
Request.AcceptTypes.Contains("text/xml"))
{
//
}
Затем можно реализовать aspx представления для обслуживания случая частичного ответа xhtml.
Затем в jQuery вы можете получить его, передав параметр типа как json:
$.get(url, null, function(data, textStatus) {
console.log('got %o with status %s', data, textStatus);
}, "json"); // or xml, html, script, json, jsonp or text
Надеюсь, это поможет
Джеймс