asp.net navigation master-pages

¿Cómo puedo ocultar el menú de la página maestra hasta que el usuario inicie sesión en asp.net



navigation master-pages (4)

En webforms puede usar el control LoginView para mostrar contenido diferente según el estado de autenticación del usuario:

<asp:LoginView ID="LoginView1" Runat="server"> <LoggedInTemplate> <div>Navigation Bar</div> </LoggedInTemplate> <AnonymousTemplate> <div>Unauthenticated content</div> </AnonymousTemplate> </asp:LoginView>

Creo una página maestra con una barra de navegación. Hice la página de índice como una página de inicio de sesión, así que uso el control de inicio de sesión en index.aspx que está registrado en la página maestra.

Ahora mi pregunta es cómo puedo ocultar la barra de navegación que está en la página maestra hasta que el usuario inicie sesión, después de que el usuario inicie sesión correctamente, la barra de navegación debería aparecer


Si está utilizando el control de menú de Asp.net, coloque el siguiente código en la carga de la página:

protected void Page_Load(object sender, EventArgs e) { Menu1.Visible = User.Identity.IsAuthenticated; }

De lo contrario, ponga su barra de navegación en un marcador de posición y muestre / oculte el marcador de posición.


Use esto en la página maestra (código C #)

<% if (HttpContext.Current.User.Identity.IsAuthenticated ) { %> <div>navigation html when is authenticated</div> <% } else { %> <div>navigation html when is NOT authenticated</div> <% } %>


protected void Page_Load(object sender, EventArgs e) { String path = HttpContext.Current.Request.Url.AbsolutePath; if (path == "/login.aspx") { Menu1.Visible = false; } }