は、結果はあなたがJSONにシリアライズうKeyValuePairオブジェクトの配列も持っています。だから、そうのようなJavaScriptのオブジェクト型を作成します。
function KeyValuePair(key, value){
this.Key = key;
this.Value = value;
}
次に、あなたがそうのようKeyValuePairsの配列を構築します:
//This array is declared in the global scope
var ValueArray = new Array();
function someFunction(){
//this assumes that the key and value variables are created earlier in the function
var valueToStore = new KeyValuePair(key, value);
ValueArray[ValueArray.length] = valueToStore;
}
をだからあなたはあなたが希望、すべてのチェックを行っている時点で、あなたの隠されたフィールドに記憶するために配列をJSONにシリアライズするjson2 serializerを使用しています。
var jsonToSaveToHiddenField = JSON.stringify(ValueArray);
//Logic to store resulting json and trigger the serverside evaluation here
サーバー側では、JavascriptSerializerを使用して、jsonをKeyValuePairの配列にデシリアライズします。ここでは、msdnのドキュメントです:JavaScriptSerializer Class Reference
だからこのアプローチでは、1つの隠しフィールドが必要です。だから、動的にサーバー側の検索にかなり簡素化すべきであるそれを作成する必要はありません。
上記は最小限の変更で動作するはずですが、これをコンパイラで実行していないため、いくつかの小さな構文エラーがプリセットされている可能性があります。