asp.net登录控件

时间:2009-05-01 08:19:33

标签: asp.net asp.net-ajax login modalpopupextender

好的,我有一个母版页,我有一个linkbutton,popupcontrolextender,一个面板作为popupcontrol,在面板中有一个登录控件。

当链接按钮被触发时,弹出面板显示自己的内部登录控件,如果我尝试登录,则验证方法不会触发。

我已经尝试了很多不同的方法来实现这个功能,但页面似乎回发了,但是不会激发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方法会触发!

任何人的想法?

由于

2 个答案:

答案 0 :(得分:1)

我已经明白了!

我在这里找到了一个有用的帖子

http://www.brianrudloff.com/

他们说

我最近遇到了一个问题,我试图动态创建一个带有按钮,标签等的面板,并使用AJAX PopupControlExtender弹出它。问题在于,无论何时单击Button,它都不会触发click事件。事件在那里,它只是不会执行。无论如何,长话短说..我不得不将Button的UseSubmitBehaviour更改为false以使其正常工作。

即(Button1.UseSubmitBehavior = false);

希望有人会找到这篇文章并节省一些时间。

所以,我将登录控件的按钮类型更改为链接,它有效!这是我认为的popupextender的某种错误!

答案 1 :(得分: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();         }

现在工作正常.....最终更新的代码...对不起有关......的混乱......