-
Para baixar o código fonte do seguinte artigo acesse o Codeplex. Introdução O objetivo desse artigo é demonstrar o controle da navegação com Workflow Foundation 4.0 em uma aplicação ASP.NET MVC e como persistir este Workflow numa base SQL Server. Requisitos Usaremos nesse artigo: O Visual Studio 2012 Um projeto ASP.NET MVC 4.0 Os assemblies System.Runtime.DurableInstancing.dll, System.Activities.DurableInstancing.dll e System.Activities.dll SQL Server 2005 Express ou superior Antes de desenvolvermos a aplicação vamos criar a base ...Continue lendo »
-
Uma aplicação Web com o processo de autenticação delegado à provedores de terceiros tem grandes chances de se tornar mais popular. Pois os usuários podem com apenas alguns cliques ganhar um usuário na sua aplicação apenas autorizando sua aplicação. Com ASP.NET MVC 4 habilitar a autenticação com o Facebook ficou muito simples, basta confirguramos o framework WebPages com a nossa aplicação. Vejamos como é simples: Criar aplicação ASP.NET MVC 4 Crie uma aplicação ASP.NET MVC 4 Web Application e depois selecione a opção Internet Application. Continue lendo »
-
Uma questão que frequentemente é feita quando alguém deve criar uma ViewEngine personalizada em vez de um ActionResult. Por exemplo, suponha que você deseja retornar os objetos em um formato XML personalizado. Você escreveria uma ViewEngine personalizada ou um MyCustomXmlFormatActionResult? A regra geral para a escolha entre um e outro é se faz ou não sentido ter algum tipo de arquivo de modelo que orienta a forma como o markup é processado. Se há apenas uma maneira de converter um objeto para o formato de saída, então escrever uma ActionResult personalizada faz mais sentido. Cenário: Por exemplo, o ASP.NET MVC Framework inclui um JsonResult por padrão, que serializa um objeto em JSON. Você não mudaria a serialização do mesmo objeto para JSON baseado na Action ou na View que será retornada. Serialização geralmente não é controlada através de um modelo. Mas suponha que você queira usar o XSLT para transformar XML em HTML. Neste caso, você pode ter múltiplas maneiras para transformar o XML em HTML dependendo da Action que foi chamada. Neste caso, ...Continue lendo »
-
Boas galera, Hoje venho falar sobre uma coisa muito importante que é o ciclo de vida de uma aplicação MVC. Todo desenvolvedor que for se aventurar no mundo do ASP.Net MVC ou mesmo pessoas que já usam, é obrigatório conhecer o seu ciclo de vida. Acima na imagem você pode ver desde a requisição ao servidor (HTTP Request) até o retorno para o navegador (Response). Abaixo descrevo de forma mais simplificada as suas etapas: HTTP Request: É a porta de entrada do servidor que receberá a sua requisição e as informações para que todo o processo se ...Continue lendo »
-
Quero compartilhar com vocês uma forma fácil de passar dados de uma Action para outra. Usualmente quando precisamos fazer isso, recorremos a Session ou algum parâmetro passado via GET. Com o MVC 3 temos agora o TempData. TempData é um dicionário de dados que tem por trás um objeto de sessão. Este objeto persiste os valores por apenas uma requisição. É ideal para enviar mensagens de um controlador para outro. Segue um exemplo: public class InsertError { public string ErrorMessage { get; set; } public string OriginalFirstName { get; set; } public string ...Continue lendo »
-
Como colocar uma máscara de formatação em um textbox ao desenvolver uma aplicação usando ASP.NET MVC? Essa é uma das primeiras dúvidas de um iniciante nesse novo framework. Resolvi então documentar um passo-a-passo da implementação da solução. Cenário O usuário deverá ser obrigado a seguir uma formatação padrão (dd/MM/yyyy) nos campos de data do sistema. O preenchimento do campo deve ser facilitado ao ponto do usuário digitar apenas os números de uma data e o sistema acrescentar as barras de separação automaticamente. Serão dezenas de campos com esse mesmo comportamento. Solução 1) Criar um uma View como modelo de edição que será responsável por renderizar ...Continue lendo »
-
Cenário Algo que eu considero bastante trabalhoso no desenvolvimento com Web Forms, é persistir campos de relacionamentos. Não que seja difícil, mas exige tempo e código repetitivo. Se você não está lembrando deles, estou falando daqueles DropDowns que todo sistema deve ter e que muitas vezes se repetem no projeto e consequentemente temos que repetir também alguns fragmentos de códigos. Boas Novas O frameowork ASP.NET MVC trás algumas facilidades para minimizarmos esse problema: o atributo UIHint. Com ele podemos marcar em nosso modelo que determinado campo irá se comportar como um DropDownList e toda sua lógica ficará embutida num único local. Que tal? Passo-a-Passo Na nossa ...Continue lendo »
-
Fala filhotes! Aproveitando que todo mundo esta falando sobre o Windows 8, hoje iremos falar sobre algo completamente nada a ver, é o Simple.Data. Uma camada de acesso a dados diferente O Simple.Data é uma camada de acesso a dados criado pelo Mark Rendle usando o novo tipo dinâmico do C#: o dynamic. “Camada de acesso a dados? mas então é só um clone do Nhibernate ou do Paulovich.data?” Não, é totalmente diferente. Antes de explicar o que a Simple.Data tem de especial, temos que entender alguns conceitos: Dynamic Se você já mexeu com Javascript e PHP devem ter reparado que as variáveis eram dinâmicas, ...Continue lendo »
-
Nesse sábado tivemos o 1º Encontro da Comunidade DotNetRaptors no auditório da Totvs em Belo Horizonte. O evento foi brilhante tanto na organização quanto em conteúdo técnico, tivemos também um excelente público como vocês podem ver nas fotos a seguir: Público aguardando o início das palestras. Preparativos iniciais com: Ivan Paulovich, Ricardo Cruz, André Alves, Continue lendo »
-
Em quase todas as minhas conversas com iniciantes em ASP.NET MVC sou questionado sobre como fazer upload de arquivos. Para facilitar a resposta irei documentar o passo-a-passo nesse artigo. Criação da View A nossa view conterá um formulário com alguns campos de entrada de texto e um campo para envio de arquivo. Veja com ela é simples: @model MvcFileUpload.Models.User <h2> Envio de arquivos</h2> @using ...Continue lendo »


