asp.net 返回表单json数据 辅助类

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;

using System.Runtime.Serialization;
/// <summary>
/// JSONHelper 的摘要说明
/// </summary>
public class FormJSONHelper
{
    //对应JSON的singleInfo成员
    public string singleInfo = string.Empty;

    protected string _error = string.Empty;
    protected bool _success = true;
    protected long _totalCount = 0;
    protected System.Collections.ArrayList arrData = new ArrayList();
    protected System.Collections.ArrayList arrDataItem = new ArrayList();


    public FormJSONHelper()
    {

    }

    //对应于JSON的success成员
    public bool success
    {
        get
        {
            return _success;
        }
        set
        {
            //如设置为true则清空error
            if (success) _error = string.Empty;
            _success = value;
        }
    }

    //对应于JSON的error成员
    public string error
    {
        get
        {
            return _error;
        }
        set
        {
            //如设置error,则自动设置success为false
            if (value != "") _success = false;
            _error = value;
        }
    }

    public long totlalCount
    {
        get { return _totalCount; }
        set { _totalCount = value; }
    }


    //重置,每次新生成一个json对象时必须执行该方法
    public void Reset()
    {
        _success = true;
        _error = string.Empty;
        singleInfo = string.Empty;
        arrData.Clear();
        arrDataItem.Clear();
    }



    public void AddItem(string name, string value)
    {
        arrData.Add("\"" + name + "\":" + "\"" + value + "\"");
    }



    public void ItemOk()
    {
        arrData.Add("<BR>");
        //返回总记录条数
        totlalCount++;
    }

    //序列化JSON对象,得到返回的JSON代码
    public override string ToString()
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("{");

        sb.Append("success:" + _success.ToString().ToLower() + ",");
      
        sb.Append("data:");

        int index = 0;
        sb.Append("{");
        if (arrData.Count <= 0)
        {
            sb.Append("}");
        }
        else
        {
            foreach (string val in arrData)
            {
                index++;

                if (val != "<BR>")
                {
                    sb.Append(val + ",");
                }
                else
                {
                    sb = sb.Replace(",", "", sb.Length - 1, 1);
                    sb.Append("},");
                    if (index < arrData.Count)
                    {
                        sb.Append("{");
                    }
                }

            }
            sb = sb.Replace(",", "", sb.Length - 1, 1);
            sb.Append("");
        }

        sb.Append("}");
        return sb.ToString();
    }
}

============ 调用 ============

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Data_FlawMould_FolderTreeEdit_CheckFolder : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        //文件夹名称
        string folderName = Request.Form["folderName"];


        flawMould.BLL.T_FolderTree fBll = new flawMould.BLL.T_FolderTree();
        flawMould.Model.T_FolderTree fModel = fModel = fBll.GetModelList("id='" + id + "'")[0];

        FormJSONHelper json = new FormJSONHelper();
        json.success = true;

        json.AddItem("folderName", fModel.name);
        json.ItemOk();
       

        Response.Write(json.ToString());
    }
}

 

posted @ 2017-12-07 14:59  人丑没钱嘴不甜  阅读(155)  评论(0编辑  收藏  举报