2

AJAXツールキットのModalPopupExtenderコントロールを使用しています。このコントロールは、CreateUserWizardコントロールを含むパネルを拡張します。ただし、CreateUserWizardコントロールを検証すると、サーバーへのポストバックが発生し、ポップアップが閉じます。ポストバック後もポップアップを開いたままにしてほしい。収集できることから、UpdatePanelを使用する必要があります。しかし、私はそれを機能させることができないようです。それがかなりトリッキーである理由は、構造が次のようになるはずだからです:

ModalPopupExtender
<Panel>
<UpdatePanel>
<ContentTemplate>...</ContentTemplate>
</UpdatePanel>
</Panel>

ModalPopupExtenderCreateUserWizardコントロール内に含まれているボタンに依存しているため、この構造に従うことはできません。したがって、<asp:CreateUserWizard> </asp:CreateUserWizard>タグ内に追加する必要があります。CreateUserWizardコントロールに組み込まれている送信ボタンで、パネルを強制的に更新したいと思います。構造がどうあるべきかについての提案はありますか?私のコードは高度にカスタマイズされているので、かなり長いです。ただし、キー構造は次のようになります。

<asp:Panel>
  <asp:CreateUserWizard>
    <WizardSteps>
       <asp:CreateUserWizardStep>
          <ContentTemplate>

          //Form Controls here
          </ContentTemplate>
          <CustomNavigationTemplate>
               //The SUBMIT button that should force update
               //CANCEL button
             <asp:ModalPopupExtender /> //References the CANCEL button therefore has to be here
          </CustomNavigationTemplate>

       </asp:CreateUserWizardStep>
    </WizardSteps>
</asp:CreateUserWizard>

</asp:Panel>

UpdatePanelはどこに配置されますか?または、ModalPopupが閉じないようにするためのより効率的な方法はありますか?

助けてくれてありがとう

4

2 に答える 2

3

updatepanelを使用せずに問題を解決することができました。代わりに、CreateUserWizardの「送信」ボタンのonClickイベントを処理しました。ここでは、CreateUserWizardコントロール内に存在するModalPopupExtenderのインスタンスを取得し、そのShow()メソッドを呼び出しました。ModalPopup宣言を<CustomNavigationTemplate>タグ内に残して、Cancelボタンに引き続きアクセスできるようにしました。

于 2010-02-03T20:49:22.153 に答える
1

クライアント側の検証を使用するか、パネルを更新パネルでラップし、モーダルエクステンダーのShow()メソッドを呼び出して、コードビハインドからモーダルを表示します。

于 2010-02-03T06:06:57.797 に答える