Мне нужно вернуть различные результаты JSON клиенту из моих действий с контроллером. Я создал статические «вспомогательные» методы типа ContentResult. Я хочу, чтобы иметь возможность повторно использовать этих помощников в нескольких проектах, поэтому я создал их в своем классе, и когда-нибудь скоро я переведу их на свою собственную сборку.ASP.NET MVC Result Return Helper
Вот мой вопрос: некоторым из этих возвратных помощников нужен доступ к контексту контроллера, поэтому я создаю его как методы расширения на контроллере. Мне нравится, как методы Html Helper - это методы расширения класса HtmlHelper, но я не могу найти подходящее свойство контроллера, аналогичное свойству Html в классе View, поэтому я просто расширил контроллер. Ниже приведен код из возвращаемого помощника. Я хочу знать, есть ли лучший способ сделать это.
public static ContentResult AJAXRedirect(this Controller cont, string action,
string controller, object routeValues)
{
string url = cont.Url.Action(action, controller, routeValues);
string json = "{{\"redirect\": \"{0}\" }}";
json = string.Format(json, url);
return new ContentResult
{
Content = json,
ContentType = "text/x-json",
ContentEncoding = Encoding.UTF8
};
}
Использование JsonResult вместо ContentResult –