json用法小案例

首先构建json 数据

StringBuilder sb = new StringBuilder();
            sb.Append("[");
            sb.Append("{");
            sb.AppendFormat("id:\"{0}\",", id);
            sb.AppendFormat("FLNodeName:\"{0}\",", tx_wzfl.Text);
            sb.AppendFormat("FLNodeid:\"{0}\",", hinWzflId.Value);
            sb.AppendFormat("MC:\"{0}\",", tx_mc.Text);
            sb.AppendFormat("PP:\"{0}\",", tx_pp.Text);
            sb.AppendFormat("GGXH:\"{0}\",", tx_ggxh.Text);
            sb.AppendFormat("DW:\"{0}\",", tx_dw.Text);
            sb.AppendFormat("XQSL:\"{0}\",", tx_xqsl.Text);
            sb.AppendFormat("YJDJ:\"{0}\",", tx_yjdj.Text);
            sb.AppendFormat("YJZJ:\"{0}\",", tx_yjzj.Text);
            sb.AppendFormat("XQYY:\"{0}\",", tx_xqyy.Text);
            sb.AppendFormat("GYS:\"{0}\",", tx_gys.Text);
            sb.AppendFormat("GYSid:\"{0}\"", hidgysid.Value == "" ? "0" : hidgysid.Value);
            sb.Append("}");
            sb.Append("]");
            ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "jsonData", "__doSelected('" + sb.ToString() + "');", true);

 

然后js回传信息

 //回传信息
        function __doSelected(info) {
            var win = window.opener;
            if (win != null && win != undefined) {
                if (win.__doSetInfo != null && win.__doSetInfo != undefined) {
                    win.__doSetInfo(info);
                }
            }
            window.close();
        }

doSetInfo函数是弹出框页面的js方法。

 

 

----

这是弹出框页面的js了

 function __doSetInfo(info) {
            if (info != null && info != '') {
                document.getElementById("hnwzvalue").value = info;
                document.getElementById("btnRefresh").click();
            }
        }

获取到json 数据后 放到一个隐藏域去,然后让一个隐藏按钮的点击事件触发

 

首先构造一个类,用来传递数据的

 public class returnJsion
        {
            public string ID { get; set; }
            public string FLNodeName { get; set; }
            public string FLNodeid { get; set; }
            public string MC { get; set; }
            public string PP { get; set; }
            public string GGXH { get; set; }
            public string DW { get; set; }
            public string XQSL { get; set; }
            public string YJDJ { get; set; }
            public string YJZJ { get; set; }
            public string XQYY { get; set; }
            public string GYS { get; set; }
            public string GYSid { get; set; }
        }

 

 

 protected void btnRefresh_Click(object sender, EventArgs e)
        {
            DataRow drtmp;
            string json = hnwzvalue.Value;
            if (json == "[object Object]")
            {
                return;
            }

            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            List<returnJsion> _returnJsion = jsonSerializer.Deserialize<List<returnJsion>>(json);
            if (dtList == null)
            {
                dtList = Init_Tab();
            }
            dtList.AcceptChanges();
            foreach (returnJsion rj in _returnJsion)
            {
                drtmp = dtList.NewRow();
                drtmp["ID"] = rj.ID;
                drtmp["FLNodeName"] = rj.FLNodeName;
                drtmp["FLNodeid"] = rj.FLNodeid;
                drtmp["MC"] = rj.MC;
                drtmp["PP"] = rj.PP;
                drtmp["GGXH"] = rj.GGXH;
                drtmp["DW"] = rj.DW;
                drtmp["XQSL"] = rj.XQSL;
                drtmp["YJDJ"] = rj.YJDJ == "" ? "0" : rj.YJDJ;
                drtmp["YJZJ"] = rj.YJZJ == "" ? "0" : rj.YJZJ;
                drtmp["XQYY"] = rj.XQYY;
                drtmp["GYS"] = rj.GYS;
                drtmp["GYSid"] = rj.GYSid;
                dtList.Rows.Add(drtmp);
                dtList.AcceptChanges();
            }

            this.dvList.DataSource = dtList;
            this.dvList.DataBind();
        }

 //重新定义列表项
        public DataTable Init_Tab()
        {
            DataTable dttmp = new DataTable();
            dttmp.Columns.Add("ID", typeof(string)); //ID
            dttmp.Columns.Add("FLNodeName", typeof(string));
            dttmp.Columns.Add("FLNodeid", typeof(string));
            dttmp.Columns.Add("MC", typeof(string));
            dttmp.Columns.Add("PP", typeof(string));
            dttmp.Columns.Add("GGXH", typeof(string));
            dttmp.Columns.Add("DW", typeof(string));
            dttmp.Columns.Add("XQSL", typeof(string));
            dttmp.Columns.Add("YJDJ", typeof(string));
            dttmp.Columns.Add("YJZJ", typeof(string));
            dttmp.Columns.Add("XQYY", typeof(string));
            dttmp.Columns.Add("GYS", typeof(string));
            dttmp.Columns.Add("GYSid", typeof(string));
            return dttmp;
        }

 

当你进到这个页面的时候 如果list有数据你要进行绑定

dtList = xtDAO.SqlText.ExecuteDataset(selectsql, parameters.ToArray()).Tables[0];

 

删除呢其实就删row的

  protected void btnDel_wz_Click(object sender, EventArgs e)
        {
            string strID = hnDeleteId.Value;
            if (strID.Trim().Length > 0)
            {
                DataRow[] dr = dtList.Select("id in (" + strID + ")");
                if (dr != null && dr.Length > 0)
                {
                    for (int i = 0; i < dr.Length; i++)
                    {
                        dtList.Rows.Remove(dr[i]);
                    }
                }
            }
            dtList.AcceptChanges();
            dvList.DataSource = dtList.DefaultView;
            dvList.DataBind();
        }

 

为了不用判断你这个list的数据哪些是新增的那些是更新的,就保存前delete所有,然后重新保存所有,这样就不用判断了!

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值