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

標題: 前臺Array To Json與后臺Json To List [打印本頁]

作者: hongniu    時間: 2015-6-25 16:59
標題: 前臺Array To Json與后臺Json To List
    糾結了一天的兩個問題、上午在糾結如何在動態的"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對象。

    今天下午躺著都中槍,大概寫了以上的內容、簡記結束! 





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品中文字幕一区二区三区 | 久久成人免费观看 | 国产美女在线观看 | h视频网站在线观看 | 久久精品一二三影院 | 99久久免费精品视频 | 久久网站免费视频 | 欧美久久久电影 | 一区二区视频在线 | 欧美成人在线免费 | 日韩一区二区三区在线观看视频 | 亚洲欧美成人影院 | 美女黄视频网站 | 三级特黄特色视频 | 国产色婷婷精品综合在线播放 | 91不卡在线| 日韩精品一区二区三区中文字幕 | 日韩一区二区av | 成人性生交大免费 | 国产精品视频免费观看 | 国产精品99久久久久久宅男 | 国产精品一区二区免费看 | 精品国产伦一区二区三区观看说明 | 国产97人人超碰caoprom | 精品国产乱码久久久久久1区2区 | 国产欧美一区二区三区在线看 | 高清欧美性猛交xxxx黑人猛交 | 久草久草久草 | 国产成人精品一区二区三区四区 | 在线免费观看黄色 | 久草视频在线播放 | 午夜免费视频观看 | 狠狠亚洲 | 国产精品久久久一区二区三区 | 中文字幕一区二区三区在线视频 | 超碰激情| 国产一区二区三区四区区 | 国产欧美在线 | 欧美一区二区免费视频 | 国产日韩欧美激情 | 最新国产精品精品视频 |