如果有的话,将 ASP.NET/JavaScript 代码中的键值对添加到 C# 字典的公认方法是什么?TIA。
问问题
482 次
2 回答
1
我如何处理这个要求是在 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
});
在您的代码后面,创建一个网络方法,例如
[System.Web.Services.WebMethod(EnableSession = true)]
public static string ItemsForDictionary(string data)
{
Dictionary<String, String> newDict = ConvertDataToDictionary(data);
}
我使用通用方法将代码隐藏中的此数据参数转换为字典。
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;
}
无论如何..希望这能给你这个想法......
于 2012-06-28T00:25:47.407 回答
0
你不能直接做。您必须使用 post-back 或 ajax 调用将数据发送回服务器,然后将数据添加到服务器端处理程序中的 Dictionary 中。
如果您发布一些代码以显示您实际尝试做的事情,我们可能会更有帮助。
于 2012-06-27T23:33:19.933 回答