久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2643|回復: 0
打印 上一主題 下一主題
收起左側

前臺Array To Json與后臺Json To List

[復制鏈接]
跳轉到指定樓層
樓主
ID:83710 發表于 2015-6-25 16:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    糾結了一天的兩個問題、上午在糾結如何在動態的"td"中獲取對應的“input text”,經過“昔陌初莧”前輩的指點,沒有遇到太大的問題就解決了。而下午是想把前臺的數據傳給后臺進行處理,這個可難壞我了,幸虧有尚哥(“E不小心”)前輩的幫忙。雖然用時比較長但還是得到了想要的效果。感謝兩位IT大神指點、感謝!
   
    下面對今天遇到的問題進行簡略的記錄:

    首先說明下上午動態獲取“text” 控件"value"值并標記儲存起來以備后臺調用。

    雖然說td是動態的導致"text"控件的個數也不固定,但是可以把每一行tr看作一個單元,并對單元中的“text”元素用JQuery的find查找。簡單的代碼大約如下(注:此為前臺JQuery代碼): 

    var arrayList = new Array();        // 存儲數據
    $("#t_Content tr").each(function () {    // #t_Content tr 在Id為t_Content元素下查找tr元素,t_Content為tbody
        var arrayKeys = new Array();    // 聲明一個Array數組用來存儲keys
        var arrayValues = new Array();    // 聲明一個Array數組用來存儲Values
        var saveDate = {    // 這里聲明一個對象,注意值類型與引用類型的區別,否則會導致這個Array中的數據均為最后的值
            InputKeys: [],    // 存儲keys屬性
            InputValues: []    // 存儲Values屬性
        };
        var t = $(this);    // 注:需要把本次的tr保存到一個變量中,否則下次$(this)調用是this已經改變了會導致錯誤
        t.find(":input[type='text']").each(function (index, element) {    // 在tr下find標簽是input并“type='text'”元素,分別保存id與values
            arrayKeys.push($(this).attr("id"));
            arrayValues.push($(this).val());
        });
        if (arrayKeys.length > 0) {    // 如果數組中有數據則保存到arrayList中直接push進去就好
            saveDate.InputKeys = arrayKeys;   
            saveDate.InputValues = arrayValues;
            arrayList.push(saveDate);
        }
    }); 

    最終形成的數據模型大約是:
    數組[“數組”,“數組”] 
 

    以上就是上午的問題,相對來說運氣不錯,感謝
“昔陌初莧”前輩在引用類型處的指點

    下午的問題其實也不是太難,只是自己對Json掌握的不是很熟悉,所以走了很多的彎路。感謝尚哥幾個小時的幫助、感謝!
 其實上午的問題與下午的問題是有一定的聯系的,需要把上午生成的數據類型轉換成JSON字符串通過Ajax傳到后臺,后臺在反序列化成實體對象
剛開始的時候問了幾位群友,他們都對我那奇葩的Array沒有辦法生成JSON,后來只有通過手動拼接,還好很順利,但是后臺如何解析成對應的實體類就難壞我了。后來尚哥的提示,下載了一個JQuery.json.js類庫,調用其中的$.toJson();就可以序列化了。其實剛開始沒有研究出來也是這個原因,開始的JSON就錯誤了,怎么可能得到想要的效果!
    由于數據中有兩個Array元素,所以尚哥提示用下面這個對象接收:
        public class SaveDate
        {
            public List<string> InputKeys { get; set; }
            public List<string> InputValues { get; set; }
        } 
    而解析JSON用的是微軟家的方法,引入Newtonsoft.Json.dll文件,利用var trDate = JsonConvert.DeserializeObject<List<SaveDate>>(strJSON);就可以接收數據了,比且反序列成了List對象。

    今天下午躺著都中槍,大概寫了以上的內容、簡記結束! 
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人三级电影 | 91高清视频在线 | 国产精品欧美大片 | 亚洲精品中文字幕 | 在线a视频网站 | 色综合天天天天做夜夜夜夜做 | 久久久久国产一区二区三区四区 | 91精品一区 | 中文字幕人成人 | 91九色婷婷| 97国产爽爽爽久久久 | 国内精品视频 | 福利视频网站 | 欧美在线a | 亚洲va在线va天堂va狼色在线 | 91在线观 | 国产黄色电影 | 西西裸体做爰视频 | 国产1区在线 | 91久久精品国产 | 91中文字幕在线观看 | 亚洲午夜视频 | 欧美成人猛片aaaaaaa | 欧美激情精品久久久久久变态 | 国产一区二区影院 | 国产精品伦一区二区三级视频 | 特a毛片 | 日韩在线观看网站 | 欧美一区视频 | 激情av网站 | 久久精品免费一区二区 | 精品一区二区三区在线观看国产 | 国产羞羞视频在线观看 | 国产精品99久久久久久久久久久久 | 天天射网站 | 欧美综合一区 | 亚洲性在线| 久久99精品国产99久久6男男 | 天天色综 | 成人免费大片黄在线播放 | www久久99 |