1

OK、マスターページがあります。その上に、リンクボタン、ポップアップコントロールエクステンダー、ポップアップコントロールとしてのパネル、およびパネル内にログインコントロールがあります。

リンクボタンが起動されると、ログインコントロールが内部にあるポップアップパネルが表示されます。ログインしようとすると、認証メソッドが起動しません。

これを機能させるためにさまざまな方法を試しましたが、ページは問題なくポストバックされているようですが、onauthenticate メソッドを起動しません。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
         <asp:Panel ID="pnlLogin" runat="server">
        <asp:Login ID="Login1" OnAuthenticate="Login1_Authenticate" runat="server">
        </asp:Login>
        </asp:Panel>
        <asp:LinkButton ID="LinkButton1"  runat="server">LinkButton</asp:LinkButton>
        <cc1:PopupControlExtender ID="PopupControlExtender1" TargetControlID="LinkButton1" Position="Right" PopupControlID="pnlLogin" runat="server">
        </cc1:PopupControlExtender>

        </ContentTemplate>
        </asp:UpdatePanel>

ポップアップ パネルからログイン コントロールを取り出して、ページ上でポンポンすると、onauthenticate メソッドが起動します。

アイデアはありますか?

ありがとう

4

2 に答える 2

1

私はそれを理解しました!

ここで役立つ投稿を見つけました

http://www.brianrudloff.com/

彼らが言うには

最近、ボタン、ラベルなどを含むパネルを動的に作成し、AJAX PopupControlExtender を使用してポップアップさせようとしているという問題に遭遇しました。問題は、ボタンをクリックするたびに、クリック イベントが発生しないことでした。イベントはそこにありましたが、実行されませんでした。とにかく、長い話を短くするために..ボタンの UseSubmitBehaviour を false に変更して、機能させる必要がありました。

つまり (Button1.UseSubmitBehavior = false);

うまくいけば、誰かがこの投稿を見つけて、時間を節約できます.

それで、ログインコントロールのボタンタイプをリンクに変更したところ、うまくいきました!!! それは popupextender のある種のバグだと思います!

于 2009-05-01T09:44:15.700 に答える
0
<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Panel ID="pnlLogin" runat="server">

                <asp:Login ID="Login1" OnAuthenticate="Login1_Authenticate" runat="server">
                </asp:Login>
                    <asp:Button runat="server" Text="Button" ID="Unamed2" onclick="Unnamed2_Click" />


            </asp:Panel>
            <asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>

            <cc1:ModalPopupExtender PopupControlID="pnlLogin" runat="server" ID="PopupControlExtender1"
                TargetControlID="LinkButton1">
            </cc1:ModalPopupExtender>
       </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Unamed2" />
            <asp:AsyncPostBackTrigger ControlID="Login1" />
        </Triggers>
    </asp:UpdatePanel>

protected void Login1_Authenticate(object sender、AuthenticateEventArgs e){this.PopupControlExtender1.Show(); }

これは現在正常に動作しています.....最終的に更新されたコード...ごちゃごちゃしてすみません...

于 2009-05-01T08:34:22.090 に答える