我发现自己需要从控制器操作中将各种JSON结果返回给客户端。我已经创建了ContentResult类型的静态“辅助”方法。我希望能够在多个项目中重用这些助手,所以我已经在他们自己的课堂上创建了这些助手,并且不久之后我会将它们移到自己的程序集中。ASP.NET MVC结果返回助手
这是我的问题:这些返回帮助器中的一些需要访问控制器上下文,所以我创建了作为控制器上的扩展方法。我喜欢Html Helper方法是HtmlHelper类的扩展方法,但我找不到类似于View类的Html属性的合适的控制器属性,所以我只是扩展了控制器。 以下是返回帮助程序的代码。我想知道是否有更好的方法来做到这一点。
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 – 2009-11-23 14:29:46