C# 从jquery将json变量数据绑定到dropdownlist

C# 从jquery将json变量数据绑定到dropdownlist,c#,jquery,asp.net,json,C#,Jquery,Asp.net,Json,在我的asp.net网页中,我在JavaScriptSerializer类的帮助下准备了JSon字符串。 在RegisterStartupScript方法的帮助下,我将Json字符串放入HTML标记中,看起来是这样的 var glList = [ { "1110005": "1110005 - X1" }, { "1110008": "1110008 - X2" }, { "1110011": "1110011 - X3" }, { "1110020": "111

在我的asp.net网页中,我在JavaScriptSerializer类的帮助下准备了JSon字符串。 在RegisterStartupScript方法的帮助下,我将Json字符串放入HTML标记中,看起来是这样的

var glList = [
    { "1110005": "1110005 - X1" },
    { "1110008": "1110008 - X2" },
    { "1110011": "1110011 - X3" },
    { "1110020": "1110020 - X4" }
];
准备json字符串的C#.net代码

System.Web.Script.Serialization.JavaScriptSerializer jsSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();

List<Dictionary<string, string>> glAccts = new List<Dictionary<string, string>>();
Dictionary<string, string> row;

foreach (DataRow dr in _dtProfitCenterRawData.Rows)
{
    row = new Dictionary<string, string>();
    row.Add(dr[0].ToString(), dr[1].ToString());
    glAccts.Add(row);
}

string jsonObj = jsSerializer.Serialize(glAccts);
string script = "var glList = " + jsonObj + ";";

ClientScriptManager cs = Page.ClientScript; 
cs.RegisterStartupScript(Page.GetType(), "JSONObj", script, true);
我想将这个json字符串绑定到dropdownlist控件。请建议如何执行该操作?我试图执行以下操作来查看对象内部的数据,但它没有给出实际值。它在警报方法中给出[object]

请建议解决这个问题的方法

$.each(glList, function (val, text) {
    //$('#mySelect').append(new Option(text, val));
    alert(text); alert(val);                 
});
改为使用
JavaScriptSerializer
序列化词典

或者,您可以尝试在序列化之前强制转换到对象

jsSerializer.Serialize((object)glAccts)
试一试


试试这个。如果您通过
glList
创建对象,则会得到对象,但不会得到其属性

function jsonTest() {
    $.each(glList, function(index, obj) {
        ($.each(obj, function (key, value) {
            $('#mySelect').append(new Option(key, value));
        }));
    });
}

可能是叶的复制品,我试过了,但对我不起作用。。我需要从变量glList中删除[,]方括号吗?他们的JSON数据和你的JSON数据之间的唯一区别是他们有一个对象{“key1”:“value”,“key2”:“value”,“key3”:“value”},而你有一个列表{“key”:“value”},{“key”:“value”},{“key”:“value”}。你知道,我如何从c#net准备JSON样式的数据吗。。我可以在我的c代码中解决这个问题吗..我试过了,但是输出没有差别。我现在不能使用JSon.NET库。。
function jsonTest() {
    $.each(glList, function(index, obj) {
        ($.each(obj, function (key, value) {
            $('#mySelect').append(new Option(key, value));
        }));
    });
}