2012-02-14 1 views
0

J'ai un usercontrol de connexion popup dans une masterpage, une fois connecté Je veux qu'un autre usercontrol sur une page de contenu apparaisse automatiquement, actuellement il n'apparaît que si j'actualise manuellement la page. Comment cela peut-il être accompli. Merci.Rendre le contrôle UserControl visible après l'ouverture de session

MasterPage -> Connexion usercontrol

View.aspx -> marque-page usercontrol (devrait apparaître après la connexion)

connexion usercontrol en page maître

<asp:UpdatePanel ID="login" runat="server" UpdateMode="Conditional">  
      <ContentTemplate>  
       <asp:Panel ID="pnlLogin" runat="server"> 
     <asp:TextBox ID="txtpassword" runat="server" TextMode="Password </asp:TextBox> 
     <asp:Button ID="btbookmark" runat="server" Text="Login" OnClick="btbookmark_Click"/> 
      </asp:Panel> 
    <asp:Panel ID="pnlData" runat="server">Placeholder for bookmark data. Bookmark data goes here. 
</asp:Panel> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

Bookmark usercontrol sur View.aspx

<asp:TextBox ID="txtbookmark" runat="server"></asp:TextBox><br /> 
<asp:Button ID="btmark" runat="server" /> 

Après la connexion comment l'utilisateur du signet peut-il le contrôle sur View.aspx apparaît. Dois-je utiliser un panneau de mise à jour?

Répondre

0

Vous pouvez l'enregistrer et définir la propriété Visible sur false dans le code derrière, jusqu'à ce que l'utilisateur se connecte, puis définissez la propriété sur true. Vous devrez ajouter du code pour éviter beaucoup de traitement si l'objet de session utilisateur n'existe pas.

ASPX:

Code
<%@ Register TagPrefix="control" TagName="UserBookmarks" Src="~UserBookmarks.ascx" %> 
<control:UserBookMarks ID="UserBookmarksCtrl" runat="server" Visible="false" /> 

derrière:

// If user logged in 
UserBookmarksCtrl.Visible = True 

Ou, vous pouvez créer dynamiquement le contrôle, et l'ajouter à votre page une fois qu'un utilisateur a ouvert une session (à savoir quelque chose comme session [ "user"] a été défini).

+0

Comment le contrôle de signet peut-il apparaître en actualisant la page? – Aaron

+0

@Aron Il est possible que le code derrière vérifie! IsPostBack avant de définir la propriété Visible à true. En outre, soyez conscient du cycle de vie de la page et des événements auto câblés tels que Page_Load, Page_LoadComplete, Page_PreRender etc. Ils sont généralement appelés dans l'ordre: page, page maître, contrôle utilisateur dans la page, contrôles utilisateur dans la page maquette. En outre, les événements câblés pour les contrôles dépendent de l'ordre dans lequel les contrôles apparaissent sur une page donnée. Sans voir le code, il est difficile de déterminer ce qui se passe. – Candide

+0

Cela ressemble à mon problème le login usercontrol dans la page maître qui crée la session est exécutée après le contrôle du signet de la page que je veux changer pour devenir visible. Suggestions? – Aaron

Questions connexes