2009-05-08 13 views
0

私の髪を引っ張って、ウェブを見て、私の問題のエレガントな解決策を見つけようとしました。ダイナミックコントロール、アップデートパネル、イベント - 私の結果を達成するための最良の方法

私はProductImages.aspxページを持っています。ダイナミックに作成されたリストに、その製品に関連付けられているすべてのイメージが表示されます。イベントは、各ピクチャに配線されており、更新することができます。

これは問題なく動作します。

ただし、最後に新しい画像を追加できるオプションがあります。これは、AddImageメソッドの呼び出しを開始するボタンです。

ここで、元のコントロールが作成され、イベントのあるページに追加されています。ボタンイベントが発生すると、既存のイメージコントロールと新しいコントロールがすべて再作成されます。 OnInitの後にイベントが追加されたため、OnInitにイベントが付加されていない状態で、新しいイメージコントロールが作成するこのポイントを追加します。

私はResponse.Redirectを使ってページをリロードし、OnInitを起動してイベントを再接続することができますが、これは非常に控えめで、更新パネルを使用する点が壊れています。

アイデア?

答えて

1

divの画像アップロードコントロールを読み込んで、divの表示属性を切り替えるJavascriptリンクがあると思っています。

おそらくAjaxToolKitのCollapsiblePanelsを使用して、アップロードフォームを非表示にして表示します。

私はこれらの方法のどちらかが、写真のアップロードフォームを取得するためだけにポストバック(UpdatePanelにあっても)よりもエレガントだと思います。

0

あなたの質問は、ページの最初の読み込み時にのみ発生するため、コントロールをOnInitに配置できないと言っているように聞こえます。これはそうではありません - ページがロードされるたびに(ポストバックを含む)OnInitが起動されるため、更新パネルを使用している場合でもコントロールを再作成できます。

が最初の読み込みとポストバックの間で異なるのプロパティの1つは、ページの最初の読み込み時にアクションを実行するために使用できるPage.IsPostbackプロパティです。

関連する問題