登录后使UserControl可见

时间:2012-02-14 18:34:22

标签: vb.net user-controls asp.net-ajax master-pages

我在母版页中有一个弹出式登录用户控件,登录后我希望内容页面上的另一个用户控件自动出现,目前只有在我手动刷新页面时才会出现。如何实现这一目标。感谢。

MasterPage - >登录usercontrol

View.aspx - > bookmark usercontrol(登录后应该出现)

在母版页中登录usercontrol

    <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>

在View.aspx上为usercontrol添加书签

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

登录后,View.aspx上的Bookmark用户控件如何显示。我需要使用更新面板吗?

1 个答案:

答案 0 :(得分:0)

您可以注册它并在后面的代码中将Visible属性设置为false,直到用户登录,然后将该属性设置为true。如果用户会话对象不存在,您将需要添加代码以防止大量处理。

ASPX:

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

// If user logged in
UserBookmarksCtrl.Visible = True

或者,您可以动态创建控件,并在用户登录后将其添加到您的页面(即已设置Session [“user”]之类的内容)。