ホームページ  >  記事  >  ウェブフロントエンド  >  同じ json object_javascript スキルを操作するための C# と JavaScript の実装コード

同じ json object_javascript スキルを操作するための C# と JavaScript の実装コード

WBOY
WBOYオリジナル
2016-05-16 17:57:00864ブラウズ

クライアントとサーバーは同じ 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コード


コードは次のとおりです:
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" 4. ページが Page_Load を読み込むときに、json データ ソースを初期化します


コードをコピーします


コードは次のとおりです: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 データソース




コードをコピー

コードは次のとおりです。