加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 19:27:46 所属栏目:asp.Net 来源:网络整理
导读:如何以 JSON格式将值从Webmethod返回给客户端? 有两个我想要返回的静态int值. 我需要创建具有这2个属性的新对象并返回吗? GetStatus()方法被频繁调用,我不喜欢创建一个特殊对象的想法,每次只是为了json格式化… [WebMethod]public static int GetStatus(){
如何以 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;
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读