C#前后端操作json數據


一、前端代碼:

function initDeptSelect() {
            var datas = {"plant":$('#plantSelect').val()}; //獲取某個組件的值,以json格式形式存放
            var jsonVal = JSON.stringify(datas);//將值轉化為json對象,必須要做
            $.ajax({
                type: 'post',                          //請求方式
                url: 'Upload.aspx/initDeptSelect',     //請求地址
                data: jsonVal,                         //發送的數據,這里是json對象
                dataType: 'json',                      //數據類型
                contentType: 'application/json;charset=utf-8',
                async: true,                             //開啟異步請求
                success: function (data) {               //請求成功,后台處理結束后的函數執行
                    var $select = $("#deptSelect");
                    var jsonObject = $.parseJSON(data.d);     //將返回的數據解釋為一個數組,data是后台函數的返回值,返回到前端的時候,會多變成{d:"[xxx,xx,xx]"}
                    $.each(jsonObject, function (key, value) {
                        var $option = $('<option></option>');
                        $option.attr('value', jsonObject[key]);
                        $option.text(jsonObject[key]);
                        $select.append($option);
                    });
                    $('#deptSelect').selectpicker('refresh');
                    $('#deptSelect').selectpicker('render');
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert("Failed to get Dept Informations.");
                    alert(XMLHttpRequest.responseText);
                    alert(XMLHttpRequest.status);
                    alert(XMLHttpRequest.readyState);
                    alert(textStatus); // parser error;
                }
            });
        }

二、后台代碼

這里用WinForm,跟MVC稍微有點區別:WinForm是在方法上面用[WebMethod]聲明,而MVC是用[HttpPost]聲明

[WebMethod]
        public static string initDeptSelect(string plant)//后台獲取json:plant的值,參數個數要與傳遞的一致,否則,ajax請求失敗
        {
            
            List<string> deptList = new List<string>();
            
            deptList.Add("hello");
            deptList.Add("world");
        //使用JsonConvert.SerializeObject(List list)最為方便;或者使用字符串拼接的形式,如拼接成{xxx:xxx,xx:xx}的字符串,然后返回
            return JsonConvert.SerializeObject(deptList);
        }    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM