2011-01-06 8 views
1

私はさまざまなパラメータを持つ私のウェブサイト上に検索画面を持っています。多くのレコードが返される可能性はありますが、ユーザーは1レコードの詳細だけを見たいと思うでしょう。多くのレコードが返された場合、私はモーダルpopwindowをデータグリッドで表示して、いくつかのコアフィールドを表示し、そこでそこからユーザはより詳細に見たいレコードを選択して、そのレコードを閉じます。モーダルウィンドウを開き、追加の詳細が表示されるメインページに戻します。ModalPopupExtenderを使用してテーブルを表示し、選択したレコードをフォームに渡します

私のaspxページからポップアップウィンドウにデータを(リストコレクション内に)渡し、その情報をグリッドに入力する方法を知りたいと思います。

私はサーバー側を試しましたが、ポップアップ(つまり、データグリッド)のコントロールは初期化されていません。私は探しているが、これを行う方法を示すWeb上で何も見つけることができない。

+0

まず最初に私の編集をチェックします。私は物事があまりにも大きく異なって見えるようにしましたか?第二に、あなたはMPE以外のアイデアにもオープンですか?とにかくポストバックを行う必要があるので、2つのコントロールを2つのパネルで使用し、ワークフローのステップに基づいて適切なパネルを表示/非表示にしてください(ポストバックを使用しています。 – jcolebrand

+0

少し、私はaspxページのコレクションにレコードを持っている、私はこれらのレコードをmpeに渡す必要があります。私の主な問題は、これらのレコードを表示するmpeです。私は単純な例を試してみました(Dariosの提案に基づいています)。これはlpsのページにapsxページのパネルを置いて、最初のレコードのidでラベルを設定しようとしましたが、設定されません。 – Mike

答えて

0

[OK]を、これはあなたが何ができるかです:

は、グリッドを追加し、私は通常パネルの内側にそれを行う

<asp:Panel ID="pnStudios" runat="server"> 
<asp:GridView ID="gvStudios" runat="server" OnSelectedIndexChanged="gvStudios_SelectedIndexChanged"> 
</asp:GridView> 
</asp:Panel> 

リンクあなたに

<asp:ModalPopupExtender ID="mpeStudios" runat="server" BehaviorID="mpeStudios" Enabled="True" TargetControlID="txtStudio" PopupControlID="pnStudios"> 
</asp:ModalPopupExtender> 

パネルにMPE TargetControlIDを空のままにすることができます。

あなたはそれがスタジオがリストのコレクションです。この

gvStudios.DataSource = studios; 
gvStudios.DataBind(); 
mpeStudios.Show(); 

を使用示したいと思います。

グリッドのOnSelectedIndexChangedでは、選択した値を取得してメインページに表示できるように詳細を取得できるため、ポストバックが完了するとmpeは自動的に閉じます。

希望します。

+0

おかげでダリオ、私は行くことを与えるだろう! – Mike

+0

これはうまくいきませんでした。上記の私のコメントのように、私はグリッドで試しましたが、mpeのシンプルなラベルでもリストの最初のレコードのIDを表示しました。これもうまくいかず、効果的にラベルがリフレッシュされませんでした。これはサーバーにポストバックされていないためです。その他の提案はありますか? – Mike

+0

グリッドをアップデートパネルの中に入れてください。おそらくそれで解決します。 – Dario

関連する問題