繁体   English   中英

从JavaScript向C#字典添加项目

[英]Adding items to C# dictionary from JavaScript

将ASP.NET/JavaScript代码中的键/值对添加到C#词典的可接受方式是什么(如果有)? TIA。

我如何处理此要求的方法是在javascript中的名称值对中获取所有数据,然后通过ajax将其发布到服务器...

例如loc是您的页面,methodName是页面后面的代码中的WebMethod,可以填充为以下参数

var arguments = '"data":"name1=value1&name2=value2"';

$.ajax({
    type: "POST",
    url: loc + "/" + methodName,
    data: "{" + arguments + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: onSuccess,
    fail: onFail
});

在后面的代码中,创建一个Web方法,例如

[System.Web.Services.WebMethod(EnableSession = true)]
public static string ItemsForDictionary(string data)
{
    Dictionary<String, String> newDict = ConvertDataToDictionary(data);
}

我使用通用方法将该代码背后的数据参数转换为Dictionary。

private static System.Collections.Generic.Dictionary<String, String> ConvertDataToDictionary(string data)
    {

        char amp = '&';
        string[] nameValuePairs = data.Split(amp);

        System.Collections.Generic.Dictionary<String, String> dict = new System.Collections.Generic.Dictionary<string, string>();

        char eq = '=';

        for (int x = 0; x < nameValuePairs.Length; x++)
        {
            string[] tmp = nameValuePairs[x].Split(eq);
            dict.Add(tmp[0], HttpUtility.UrlDecode(tmp[1]));

        }

        return dict;
    }

无论如何..希望这给你这个主意...

您不能直接这样做。 您必须使用回发或ajax调用将数据发送回服务器,然后将数据添加到服务器端处理程序中的Dictionary中。

如果您发布一些代码来显示您实际上在尝试做什么,我们可能会更有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM