2017-01-11 8 views
0

私は2ページです.Jsonオブジェクトとして特定のデータを他のページに渡す必要があります。asp.net webformのあるページから別のページへPasson jsonオブジェクト

Page1.aspxコード

obj.Name= "My Name"; 
obj.Age= 30; 
obj.Country= "Japan"; 
..... 
..... 
string json = JsonConvert.SerializeObject(obj); 

Response.redirect("Page2.aspx"); 

にPage2.aspx

どのように私は、リダイレクトを行う際にPage2.aspxするためにこの情報を渡すことができます。

私はそれをフォームオブジェクトとして隠しフィールドの1つに渡してからそれを逆シリアル化することができます。

別の簡単な方法があるのだろうかと思っていました。

+0

クエリ文字列でセッションを使用して値を取得します。多分base64に – Mate

+0

それは私の心配です。多言語の場合は特に長いかもしれません。 – Learning

+0

また、セッション変数を使用することもできます。クエリ文字列 – Mate

答えて

0

どの程度

Response.redirect("Page2.aspx?MyJson=json"); 

そして "にPage2.aspx" の値を読み取る:あなたはセッション変数を使用することができます。このため

string FromJson = Response.QueryString["MyJson"].ToString(); 
+0

私はオブジェクトの長さが心配です。今のところ私は隠し場所として渡しています – Learning

+0

@Learning [ASP.netのページを渡る値を渡す](http://stackoverflow.com/a/14956219/3796048) –

+0

jsonサイズが大きいjsonファイルをディスクに保存して別のページで取得できます。ファイルの名前を 'リダイレクト'に渡すことができます –

0

を。その後

obj.Name= "My Name"; 
obj.Age= 30; 
obj.Country= "Japan"; 
..... 
..... 
string json = JsonConvert.SerializeObject(obj); 

Session["json"] = json; 

Response.redirect("Page2.aspx"); 

それはあまりにも長くはない場合、あなたにPage2.aspx

+0

jsonオブジェクトを隠しフィールドのvlueとして渡す方が良いでしょうか?セッションタイムアウトの場合にのみ – Learning

+0

これはプロジェクトの必要条件に依存します。 – Thili77

関連する問題