2009-08-01 12 views
0

page1.aspxでは、サーバー側のbuttonOnClickイベントに関連付けられたボタンがあります。 ボタンをクリックすると、新しいページを作成する際に使用したいデータを持つbuttonOnClickメソッド(buttonOnclickメソッドのローカル)を生成するbuttonOnClickメソッドが実行されます。ASP.NET内のあるページから別のページにオブジェクトを渡す

基本的には、新しいタブで新しいページ(page2.aspx)を開きたいのですが、このページが読み込まれると、buttonOnClickで生成されたオブジェクトの内容に基づいてレンダリングします。

どのようにこれについて正しく行くかもしれませんか?これまではURL引数を新しいポップアップ(page2.aspx)に渡していましたが、オブジェクトを作成しましたが、これを適切に行い、buttonOnclickを生成してから、ポップアップでpage2.aspxをロードしますbuttonOnclickメソッドで構築されたオブジェクト。

+0

Page1.aspxとpage2.aspxは、両方とも同じサーバー上で実行されています。 (彼らは同じフォルダにいます:-)) – Matt

+0

マット、追加情報であなたの質問を編集してください。コメントを追加しないでください。 –

+0

また、これは小さな点です。これはIISとまったく関係がありません。また、それは "ASP"ではなく "ASP.NET"です。実際のASPページを作成して維持することを余儀なくされている人はまだいます。 「クラシックASP」と呼んでいます。 –

答えて

3

最初のページでセッションにオブジェクトを格納し、2番目のページでオブジェクトを取得します。最初のページ


Session["myobject"] = myObject; 

2ページ目:


MyObject object = (MyObject) Session["myobject"]; 
+0

くそー、それは簡単です! :-) – Matt

1

ユーザーのセッションでオブジェクトを格納することです最も簡単な方法。

Session["myObject"] = myObject; 

それを取得するには、セッションキャッシュは、単にオブジェクトのハッシュテーブルであることから、MyObjectにのタイプに戻ってそれをキャストする必要があります。

if (Session["myObject"] != null) 
{ 
    MyObject myobj = (MyObject)Session["myObject"]; 
} 

この方法で両方のページからアクセスできます。一般的に、複数のページがセッション内の同じオブジェクトにアクセスする場合、私は通常、セッションキーの名前を一元管理された場所に保存します。通常、私は自分のアプリケーションにリソースファイルを追加し、[プロパティ]フォルダに入れたので、私はこのようにそれを使用することができます。

string key = WebApplication1.Properties.MyObjectSessionKey; 
Session[key] = myObject; 
0

使用セッション状態またはデータベース内のオブジェクトを格納し、2番目のページにIDを渡します。オブジェクトはこのためにシリアライズ可能である必要があります。

関連する問題