Login control inside updatepanel

349 Views Asked by At

I putted a loginstatus control on masterpage and added extender (ModalPopupExtender). the login control is inside a panel and when login is clicked the login control appears (in sql server 2008 r2, the user and membership tables are also made by login control).

But when i click login button, with wrong ID/Pass nothing happens. Using postbacktrigger of updatepanel causes full page postback, and modalpopup disappears, I have to click on loginstatus again to view the failure text displayed.

Kindly guide if there is a way to have error text displayed as it should inside the update panel

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Frontend.master.cs" Inherits="FashionReplica.MasterPages.Frontend" %>

<%@ Register Src="~/Controls/LoginControl.ascx" TagPrefix="uc1" TagName="LoginControl" %>
<%@ Register Src="~/Management/ManagementControls/LoginModalControl.ascx" TagPrefix="uc1" TagName="LoginModalControl" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="ajaxToolkit" %>

<%//@ Register Src="~/Controls/topLoginUserStrip.ascx" TagPrefix="uc1" TagName="topLoginUserStrip" %>
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>My Site Title</title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
<link href="../Styles/styles.css" rel="stylesheet" />
<script src="../Scripts/modernizr-2.8.3.js"></script>

<link href="../Styles/button.css" rel="stylesheet" />    
<link href="../Styles/dd.css" rel="stylesheet" />
<link href="../Styles/dialog.css" rel="stylesheet" />    
<link href="../Styles/jquery-ui.css" rel="stylesheet" />        

<script src="../Scripts/jquery-2.2.1.js"></script>    
<script src="../Scripts/jquery-ui-1.11.4.js"></script>    
<script src="../Scripts/jquery-ui.js"></script>    
<script src="../Scripts/modernizr-2.8.3.js"></script>

</head>
<body id="body">

<form id="form1" runat="server">

    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true">
        <Scripts>
            <asp:ScriptReference Path="~/Scripts/jquery-2.1.4.min.js" />
        </Scripts>
    </asp:ScriptManager>    

<div>
    <asp:UpdatePanel UpdateMode="Conditional" runat="server">
        <ContentTemplate>
    <asp:Panel runat="server" ID="Pan1" CssClass="modalPopup">                
            <asp:Login ID="Login1" runat="server" CreateUserText="SignUp" CreateUserUrl="~/Signup.aspx" FailureText="Wrong ID/Password"></asp:Login>
        </asp:Panel>
            </ContentTemplate>
    </asp:UpdatePanel>
    <asp:LoginStatus ID="LoginStatus1" runat="server" />

    <ajaxToolkit:ModalPopupExtender ID="LoginStatus1_ModalPopupExtender" runat="server" CancelControlID="btnCancle" BehaviorID="LoginStatus1_ModalPopupExtender" TargetControlID="LoginStatus1" PopupControlID="Pan1">
    </ajaxToolkit:ModalPopupExtender>

    <div class="site-title"><a href="http://p2p.wrox.com/Default.aspx">Site Title</a></div>
    <div id="loginModalUserControl" style="display:none;">
        <uc1:LoginControl runat="server" id="LoginControl" />
    </div>
    <nav>
        <ul id="menu">
            <li>
            <a href="http://p2p.wrox.com/Default.aspx">Home</a>
               </li>
            <li>
                <a href="http://p2p.wrox.com/About.aspx">About Us</a>
            </li>
            <li>
                <a href="http://p2p.wrox.com/Conact.aspx">Conact Us</a>
            </li>
            <li>
                <a href="http://p2p.wrox.com/Management/Add Brand.aspx">Add Brand</a>
            </li>
        </ul>

    </nav>

    <asp:ContentPlaceHolder ID="FirstContent" runat="server">

    </asp:ContentPlaceHolder>

    <footer>© 2016 - Site Title</footer>
</div>
</form>

1

There are 1 best solutions below

3
jelliaes On

Set UpdateMode="Conditional" and ChildrenAsTriggers="false" in your UpdatePanel