Почему вы хотите это сделать?Для меня контроллер привязан к определенной модели, а не к определенному типу формата вывода.
public ActionResult Users()
{
var users = _repository.Find();
var viewModel = Mapper.Map(users); // automapper or similar
return Request.IsAjax() ? Json(viewModel) : View(viewModel);
}
Чтобы ответить на ваше обновление
Лучше создатьCustomAuthorizeAttribute
, который проверяет, является ли это ajax-запросом или обычным запросом, и выполняет соответствующую авторизацию.Ваши контроллеры не должны знать, как осуществляется авторизация.