контроль входа в asp.net - PullRequest
1 голос
/ 01 мая 2009

Хорошо, у меня есть главная страница, на которой у меня есть кнопка ссылки, 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 ]

1 голос
/ 01 мая 2009

Я понял это!

Я нашел полезный пост здесь

http://www.brianrudloff.com/

они говорят

Недавно я столкнулся с проблемой, в которой я пытался динамически создать панель с кнопками, метками и т. Д. И открыть ее с помощью AJAX PopupControlExtender. Проблема заключалась в том, что всякий раз, когда вы нажимали кнопку, она не запускала событие click. Событие было там, оно просто не могло быть выполнено. В любом случае, чтобы сделать короткую историю короткой ... Мне пришлось изменить значение UseSubmitBehaviour для Button на false, чтобы оно заработало.

т.е. (Button1.UseSubmitBehavior = false);

Надеюсь, кто-нибудь найдет этот пост и сэкономит себе время.

Итак, я изменил тип кнопки управления входом на ссылку, это сработало !!! я думаю, это какая-то ошибка с popupextender!

0 голосов
/ 01 мая 2009
<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>

защищенный void Login1_Authenticate (отправитель объекта, AuthenticateEventArgs e) { this.PopupControlExtender1.Show (); }

Теперь все работает нормально ... Final Обновленный код ... Извините за беспорядок по поводу ...

...