WebMethod以JSON格式返回值

如何将Webmethod的值以JSON格式返回给客户端?

我要返回两个静态int值。

我是否需要使用这两个属性创建新对象并返回它?

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;

}

以上是 WebMethod以JSON格式返回值 的全部内容, 来源链接: utcz.com/qa/411715.html

回到顶部