Asp.net
WebMethod 以 JSON 格式返回值
如何以 JSON 格式將值從 Webmethod 返回到客戶端?
我想返回兩個靜態 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; }