クライアントとサーバーは同じ json オブジェクト上で動作できますか?現在考えられている方法は、クライアント側でコントロールを非表示にすることです。
以下は汎用リスト オブジェクト List です。json に変換された後、クライアントとサーバーはどのように動作しますか?
1. json オブジェクトと C# ジェネリックの間の変換コード
//json データをジェネリックに変換します
public static T ConvertByteDataToObject{
T obj;
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(byteData)))
{
varserializer = new DataContractJsonSerializer(typeof) (T) );
obj = (T)serializer.ReadObject(ms);
return obj;
}
//ジェネリックを json に変換します
public static string ConvertObjectToByteData< ; T>(T obj)
{
string result; 🎜 >serializer.WriteObject(ms, obj);
ms.Position = 0;
result = Encoding.UTF8.GetString(ms.ToArray());
> }
2. json データ ソースはクライアントの非表示コントロールに保存されます
コードをコピーします
コードは次のとおりです:
3. jsonデータを配置した後にコントロールを作成します。リクエストリクエストに「/」を含めるとエラーになるため、ページのヘッダーにValidateRequest="false"を設定してください
Copyコード
コードは次のとおりです:
コードをコピーします
コードは次のとおりです:
List
new List (){ new TrainingImplement (){
Code="aaa",
c_name ="bbb"
}
....
}//データ ソースを初期化します
hideDataSource.Value = ConvertObjectToByteData(list);
}
else
{
//ポストバックの場合、データ ソースはクライアントから読み取られます
List list = ConvertByteDataToObject>(hideDataSource.Value) = ConvertObjectToByteData(list);
#endregion
4. クライアント js 操作の例 json データソース
コードをコピー
コードは次のとおりです。