Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais
ModelBinding no WebForms 4.5 com Camada de Negócios
Data:10/29/2012

Translate this page now :





Categories: ASP.NET

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :
Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon

Veja Também


 

aspnetA utilização de ModelBinding com os WebForms é uma das grandes novidades do ASP.NET 4.5, porém todos os exemplos que encontramos na web atualmente mostram o código inserido dentro do code-behind da página.

Porém inserir lógica de negócios no code-behind da página nunca é uma boa idéia. Normalmente desejamos que a lógica fique em uma camada de negócios, uma classe e eventualmente até projeto separado.

Para podermos fazer isso basta programarmos um evento nos webcontrols que irão consumir os dados : OnCallingDataMethods

Veja um exemplo :

        protected void FormView1_CallingDataMethods(object sender, CallingDataMethodsEventArgs e)
        {
            e.DataMethodsObject = new libBLL.ClientesBLL();
        }

 

Neste exemplo temos uma classe ClientesBLL que possui os métodos para acesso aos dados.

Existe ainda uma alternativa : Os métodos contidos no objeto poderiam ser do tipo static. Neste caso o código que devemos aplicar no evento será um pouco diferente :

        protected void FormView1_CallingDataMethods(object sender, CallingDataMethodsEventArgs e)
        {
            e.DataMethodsType = typeof(libBLL.ClientesBLL);
        }

Model Validation

Criando os métodos de acesso dentro de uma class library não poderemos ter acesso ao ModelState para verificar a validade.

Porém podemos utilizar outros métodos para garantir que o model esteja válido. Independente de não usarmos o ModelState na class library, um validator summary consegue exibir as mensagem de erro de ModelState normalmente, só precisamos garantir que a class library não execute tarefas quando o modelo não estiver válido.

Veja como checar isso com o entity framework :

            if (ne.GetValidationErrors().Count() != 0)
                return;

Utilizando o método GetValidationErrors podemos identificar que existem erros de validação no modelo e desta forma impedir que a camada de negócios execute as operações, como atualização de dados. A camada de interface se encarregará de mostrar os erros de ModelState através, por exemplo, de um ValidationSummary.



Categories: ASP.NET


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br