none
Menu na masterpage RRS feed

  • Pergunta

  • Tenho uma masterpage onde monto dinamicamente um menu conforme permissões do usuário logado, sendo que no pastback de qualquer página o menu é duplicado, no load da página o menu não é duplicado mais no post back é, então minha duvida é na masterpage o menu fica montado qdo executo na primeira vez e se isso é verdade como vou detectar se ele está montado no postback da masterpage ?


    Junior
    quarta-feira, 25 de novembro de 2009 18:41

Respostas

  • Vc tem que colocar todo seu método que gera o menu dentro do

     If Not Page.IsPostBack Then
    //COloque aqui para montar o menu
    End If

    • Marcado como Resposta Junior_luiz quarta-feira, 25 de novembro de 2009 18:58
    quarta-feira, 25 de novembro de 2009 18:55
    Moderador

Todas as Respostas

  • Como vc está carregando ele?vc não está pegando do sitemap?
    quarta-feira, 25 de novembro de 2009 18:43
    Moderador
  • Fale,

    if
    (!IsPostBack)

    {
      //Cria menu
    }

    Abraço!


    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    • Sugerido como Resposta Erysson Souza quarta-feira, 25 de novembro de 2009 19:07
    quarta-feira, 25 de novembro de 2009 18:43
  • Não uso sitemap como falei monto dinamicamente no banco, vou postar o codigo em vb.

    Na masterpage tenho views para situações de inicio e qdo o usuário já logou.

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim I As Integer
            Dim I1 As Integer
            Dim Ds_Link As String = "~\Forms\"
    
            If Not Page.IsPostBack Then
                gv_Menu.DataBind()
            End If
            If Session("cd_usuario") = "" Then
                Mv_Conteudo.ActiveViewIndex = 0
                Mv_Superior.ActiveViewIndex = 0
            Else
                Mv_Conteudo.ActiveViewIndex = 1
                Mv_Superior.ActiveViewIndex = 1
    
                If gv_Menu.Rows.Count > 0 Then
                    WL_IdSistAtu = gv_Menu.Rows(0).Cells(0).Text
                    For I = 0 To gv_Menu.Rows.Count - 1
                        WL_IdSistAtu = gv_Menu.Rows(I).Cells(0).Text
                        If WL_IdSistAnt <> WL_IdSistAtu Then
                            Mnu = New MenuItem
                            Mnu.Selected = False
                            Mnu.Text = gv_Menu.Rows(I).Cells(3).Text.Trim
                            Mnu.Value = gv_Menu.Rows(I).Cells(3).Text.Trim
                            Mnu.SeparatorImageUrl = "~/imagens/separador_vertical.gif"
                            Menu1.Items.Add(Mnu)
                            WL_IdSistAnt = WL_IdSistAtu
                            If I = 0 Then
                                I1 = 0
                            Else
                                I1 = I1 + 1
                            End If
                        End If
                        Mnu = New MenuItem
                        Mnu.Selected = True
                        Mnu.Text = gv_Menu.Rows(I).Cells(2).Text.Trim
                        Mnu.Value = gv_Menu.Rows(I).Cells(2).Text.Trim
                        Mnu.NavigateUrl = Ds_Link & Trim(gv_Menu.Rows(I).Cells(4).Text)
                        Mnu.SeparatorImageUrl = "~/imagens/separador_Horizontal_menu.gif"
                        Menu1.Items(I1).ChildItems.Add(Mnu)
    
                    Next
                    Menu1.DataBind()
                    gv_Menu.Visible = False
                End If
            End If
        End Sub

    Junior
    quarta-feira, 25 de novembro de 2009 18:46
  • Vc tem que colocar todo seu método que gera o menu dentro do

     If Not Page.IsPostBack Then
    //COloque aqui para montar o menu
    End If

    • Marcado como Resposta Junior_luiz quarta-feira, 25 de novembro de 2009 18:58
    quarta-feira, 25 de novembro de 2009 18:55
    Moderador