segunda-feira, fevereiro 27, 2012

Acessando um componente da Master Page no Asp.Net

HI,

Hoje precisei colocar um recurso em um site que fiz. Atualizar um item no menu que dá acesso a página de mensagens. Tinha que colocar ao lado do texto entre parenteses a quantidade de mensagens não lida.

A lógica que usei foi essa:


  1. Obter a quantidade mensagens não lidas ao fazer o login e colocar em uma variável de sessão.
  2. Colocar na Page_Load do Master Page um código para atualizar o item do menu: lblMenuMensagem.Text = "Mensagens (" + Session["QT_MSG"].ToString() + ")";
  3. Ao acessar uma mensagem, atualizar a variável de sessão e modificar o valor do menu: 
   Label mLabel;
            mLabel = (Label)Page.Master.FindControl("lblMenuMensagem");
            if (mLabel != null)
            {
Session[" QT_MSG "] = ObterQtMsgNaoLida();
                mLabel.Text = "Mensagens (" + Session["QT_MSG"].ToString() + ")";
                
            }

Esse código fica na Page_Load da página LerMensagem.aspx

Páginas que achei no google

Update Label in Master page from Content page. Help please

Passing Information Between Content and Master Pages


Fiquem na Paz!!!

Obter o valor da sequence gerada ao inserir um registro no oracle.

HI,

Acabei de aprender isso e já estou disponibilizando aqui.

Situação:

Criei uma procedure para chamar duas outras procedures. Uma cria o registro Pai e a outra o registro Filho.

Eu tinha que passar o código do registro Pai para a procedure dois.

Antes tinha resolvido isso armazenando o valor da sequence em uma variável e depois passava para as duas procedures, ficando assim:


create or replace procedure INSERIR_MSG_USUARIO(pusr_id    number,
                            ptitulo   varchar2, pmensagem   varchar2, pcod_sistema     number)
is
        seq number := 0;
begin
        select cam_nrid.nextval into seq from dual;
   
        inserir_campanha('MENSAGEM AUTOMÁTICA AO USUÁRIO',
                         ptitulo, pmensagem, pcod_sistema, seq);
                            
        inserir_registro_envio(seq, pusr_id, sysdate);    
end;

Essa procedure é só para exemplificar.

Pesquisando no google achei como obter o código da sequence na clausula INSERT, e retornar o seu valor através de um parâmetro do tipo OUT.

Obtendo o valor da Sequence

Retornado um valor através da procedure


Usando o returning não precisei mais dessa linha: select cam_nrid.nextval into seq from dual;

Espero que possa ser útil.

Fiquem na Paz!!!

quarta-feira, fevereiro 15, 2012

Obter o nome do computador em C#

HI,

Precisei pegar o nome do computador em uma aplicação windows forms

Usei esta dica

C# Get Computer Name – Name of the Computer using C#
http://dotnetdud.blogspot.com/2008/10/c-get-computer-name-name-of-computer.html

Fiquem na Paz!!!