0

ASP.NET/JavaScript コードから C# ディクショナリにキーと値のペアを追加する方法として認められている方法があるとすれば、それは何ですか? ティア。

4

2 に答える 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
});

コードビハインドで、Web メソッドを作成します。

[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

直接行うことはできません。ポストバックまたは ajax 呼び出しを使用してデータをサーバーに送り返し、サーバー側ハンドラーの Dictionary にデータを追加する必要があります。

実際に何をしようとしているのかを示すコードの一部を投稿していただければ、おそらくより役立つでしょう。

于 2012-06-27T23:33:19.933 に答える