none
A referência de objecto não foi definida como uma instância de um objecto. RRS feed

  • Pergunta

  • Ola,

    Estou a passar variavel de contentplace para a masterpage, e aparece este erro quando testo: A referência de objecto não foi definida como uma instância de um objecto.

    Estou a fazer igual a este exemplo: http://www.dotnetfunda.com/articles/show/1507/how-to-access-master-page-variableproperty-from-the-content-page

    content:

        string permissao = Session["permissoes"].ToString().Trim();
                Master.MasterPageVariable = permissao;

    masterpage:

    public string MasterPageVariable { get; set; }  
    
     protected void Page_Load(object sender, EventArgs e)
            {
                if (permissao.Text != "")
                {
                    permissao.Text = MasterPageVariable;
                }
            }


    terça-feira, 13 de maio de 2014 17:39

Respostas

  • Diogo,

    Esse erro provavelmente está acontecendo porque você está usando o objeto Session["permissoes"] e ele está nulo no momento que você acessa. Essa correção no código não vai acertar 100% seu problema, mas já é a primeira parte para resolvê-lo.

    Para testar isso, troque no seu código a seguinte parte:

    string permissao = Session["permissoes"];
    if (!string.IsNullOrEmpty(permissao)) {
        Master.MasterPageVariable = permissao;
    }

    Veja se ainda acontece o erro.

    Depois disso, temos que resolver um problema: Carregar as permissões na sessão corretamente.

    • Marcado como Resposta Giovani Cr terça-feira, 13 de maio de 2014 22:54
    terça-feira, 13 de maio de 2014 18:18

Todas as Respostas

  • Diogo,

    Esse erro provavelmente está acontecendo porque você está usando o objeto Session["permissoes"] e ele está nulo no momento que você acessa. Essa correção no código não vai acertar 100% seu problema, mas já é a primeira parte para resolvê-lo.

    Para testar isso, troque no seu código a seguinte parte:

    string permissao = Session["permissoes"];
    if (!string.IsNullOrEmpty(permissao)) {
        Master.MasterPageVariable = permissao;
    }

    Veja se ainda acontece o erro.

    Depois disso, temos que resolver um problema: Carregar as permissões na sessão corretamente.

    • Marcado como Resposta Giovani Cr terça-feira, 13 de maio de 2014 22:54
    terça-feira, 13 de maio de 2014 18:18
  • olá, já está resolvido.

    Agora tenho outro problema que nao estou a entender.

    Tenho um menu que é criado conforme a sessao. O menu está a ser craido bem, mas quando faço um refresh deixa de aparecer.

    o menu está na masterpage.

    <div id='cssmenu'>
                                        <ul>
                                            <% if (permis == "Basico")
                                               { %>
    
                                            <li class='active'><a href="area.aspx"><span>Home</span></a></li>
                                            <% }
                                               else if (permis == "Geral")
                                               { %>
                                            <li class='active'><a href="geral.aspx"><span>Home</span></a></li>
                                            <% }%>
                                            <% if (permis == "Basico")
                                               { %>
                                            <li class='has-sub'><a href='#'><span>Registar</span></a>
                                                <ul>
    
                                                    <li class='has-sub'><a href="regcliente.aspx"><span>Registar cliente</span></a> </li>
                                                    <li class='has-sub'><a href="regficha.aspx"><span>Registar ficha visita</span></a> </li>
                                                    <li class='has-sub'><a href="mferias.aspx"><span>Registar férias</span></a> </li>
    
                                                </ul>
                                            </li>
                                            <% }%>
                                            <% if (permis == "Basico")
                                               { %>
                                            <li class='has-sub'><a href='#'><span>Consultas</span></a>
                                                <ul>
    
                                                    <li class='has-sub'><a href="pesqc.aspx"><span>Consultar cliente</span></a> </li>
                                                    <li class='has-sub'><a href="pesqf.aspx"><span>Consultar ficha visita</span></a> </li>
    
                                                </ul>
                                                <% }
                                               else if (permis == "Geral")
                                               { %>
                                            <li class='has-sub'><a href='#'><span>Consultas</span></a>
                                                <ul>
    
                                                    <li class='has-sub'><a href="pesqgc.aspx"><span>Consultar cliente</span></a> </li>
                                                    <li class='has-sub'><a href="pesqgf.aspx"><span>Consultar ficha visita</span></a> </li>
    
                                                </ul>
                                                <% }%>
                                                <%--<li><a href='#'><span>About</span></a></li>--%>
                                            <li class='auto-style3'>
                                                <asp:LinkButton ID="LinkButton2" runat="server" OnClick="LinkButton1_Click1" ValidationGroup="sair">Log out</asp:LinkButton>
                                            </li>
                                        </ul>
                                    </div>


    • Editado DiogoMBM quarta-feira, 14 de maio de 2014 08:30
    quarta-feira, 14 de maio de 2014 08:28
  • Duas coisas:

    1. Esse "permis" seria um HiddenField ? Ou é uma variável normal ?

    2. Tem como você postar aqui o método Page_Load desse WebForm ?


    Diego Murakami MCP, MS - http://about.me/dii

    quarta-feira, 14 de maio de 2014 18:14