Asp.net mvc 3 - JSONResult return array

publicclassArrayJsonResult:System.Web.Mvc.JsonResult
{
   
publicoverridevoidExecuteResult(ControllerContext context)
   
{
       
if(context ==null)
       
{
           
thrownewArgumentNullException("context");
       
}
       
if(JsonRequestBehavior==JsonRequestBehavior.DenyGet&&
           
String.Equals(context.HttpContext.Request.HttpMethod,"GET",StringComparison.OrdinalIgnoreCase))
       
{
           
thrownewInvalidOperationException("JsonRequest_GetNotAllowed");
       
}

       
HttpResponseBase response = context.HttpContext.Response;

       
if(!String.IsNullOrEmpty(ContentType))
       
{
            response
.ContentType=ContentType;
       
}
       
else
       
{
            response
.ContentType="application/json";
       
}
       
if(ContentEncoding!=null)
       
{
            response
.ContentEncoding=ContentEncoding;
       
}
       
if(Data!=null)
       
{
           
StringWriter sw =newStringWriter();
            sw
.Write("[");
           
try
           
{
               
var collection =DataasIEnumerable<String>;
               
int countLessOne = collection.Count()-1;
               
for(int i =0; i < countLessOne; i++)
               
{
                    sw
.Write(collection.ElementAt(i));
                    sw
.Write(",");
               
}
                sw
.Write(collection.ElementAt(countLessOne));
           
}
           
catch(Exception)
           
{
               
//data was not a collection
           
}

            sw
.Write("]");
            response
.Write(sw.ToString());
       
}
   
}
posted @ 2012-08-29 09:02  webglcn  阅读(318)  评论(0编辑  收藏  举报