Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedroCamargo

Object reference not set to an instance of an object.

Recommended Posts

Bom dia. Estou criando um aplicativo de chat interno pra empresas usando C#.NET 3.5, estou obtendo o seguinte erro "Object reference not set to an instance of an object." dentro de um método, e não consigo identificar o por quê, até mesmo por que sou iniciante.

 

Segue o código:

 

 

protected void InserirMensagem(string text)
    {
        db = new DataClassesDataContext();

        // Cria as informações sobre a mensagem (SalaID, UsuarioID)
        Mensagem msg = new Mensagem();
        msg.SalaID = Convert.ToInt32(lblSalaID.Text);
        msg.UsuarioID = Convert.ToInt32(Session["ChatUsuarioID"]);


        if (String.IsNullOrEmpty(text))
        {
            // Impede o uso de tags HTML
            msg.Text = txtMensagem.Text.Replace("<", "");
            msg.Color = ddlColor.SelectedValue;
        }
        else
        {
            // Padrão da mensagem
            msg.Text = text;
            msg.Color = "gray";
        }
        //Insere a hora do envio da mensagem
        msg.HoraEnviada = DateTime.Now;
        db.Mensagems.InsertOnSubmit(msg);
        // Envia para o servidor
        db.SubmitChanges();
    }
    private void PegarMensagem()
    {
        db = new DataClassesDataContext();

        var msgs = (from m in db.Mensagems
                    where m.SalaID == int.Parse(lblSalaID.Text)
                    orderby m.HoraEnviada descending
                    select m).Take(20).OrderBy(m => m.HoraEnviada);
        if (msgs != null)
        {
            StringBuilder sb = new StringBuilder();
            int ctr = 0;

            foreach (var msg in msgs)
            {
                if (ctr == 0)
                {
                    sb.Append("<div style='padding: 10px'>");
                    ctr = 1;
                }
                else
                {
                    sb.Append("<div style='background-color: #EFEFEF; padding: 10px'>");
                    ctr = 0;
                }

[b]// Onde está ocorrendo o erro. Em outras fontes, eu procurei sobre isso e pelo que entendi

// eu tinha que verificar se a var não estava dando null. Por isso estou verificando o null nesse

//if[/b]

                if (msg.Usuario.Sexo.ToString() != null && msg.Usuario.Sexo.ToString() == "F")
                    sb.Append("<img src='Images/womanIcon.gif' style='vertical-align:middle' alt=''>" + msg.Usuario + "diz :" + msg.Text + "</div>");
                else
                    sb.Append("<img src='Images/manIcon.gif' style='vertical-align:middle' alt=''>" + msg.Usuario + "diz :" + msg.Text + "</div>");

                litMessages.Text = sb.ToString();


            }

        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.