asp.net – WebMethod以JSON格式返回值

前端之家收集整理的这篇文章主要介绍了asp.net – WebMethod以JSON格式返回值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何以 JSON格式将值从Webmethod返回给客户端?

有两个我想要返回的静态int值.
我需要创建具有这2个属性的新对象并返回吗?
GetStatus()方法被频繁调用,我不喜欢创建一个特殊对象的想法,每次只是为了json格式化…

[WebMethod]
public static int GetStatus()
{
    int statusProcess,statusProcessTotal;

    Status.Lock.EnterReadLock();
    statusProcess=Status.Process; //Static field
    statusProcessTotal=Status.ProcessTotal; //Static field        
    Status.Lock.ExitReadLock();

    return ...
}

在客户端,我捕获的返回值:

function OnSucceeded(result,userContext,methodName)   
(PageMethods.GetStatus(OnSucceeded,OnFailed);)

解决方法

我只想去一个对象.它符合你需要做的事情.如果您有两个返回值,则必须以结构化的方式将它们放在一起.
public class StatusResult
        {
            public int StatusProcess { get; set; }
            public int StatusProcessTotal { get; set; }
        }

  [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public StatusResult GetStatus()
        {
            int statusProcess,statusProcessTotal;

            //Status.Lock.EnterReadLock();
            statusProcess = 5;
            statusProcessTotal = 1; //Static field        


            var result = new StatusResult();
            result.StatusProcess = statusProcess;
            result.StatusProcessTotal = statusProcessTotal;

            return result;
        }

猜你在找的asp.Net相关文章