O MVC
(Model-View-Controller ou Modelo-Visão-Controlador) nada mais é que separar o
desenvolvimento em camadas.
São três:
- View - Representa a visualização dos dados;
- Controller - Manipula requisições dos usuários.
Para criar um projeto utilizando MVC é simples.
*Para os exemplos que seguem, vou utilizar o Visual Studio 2012. Disponível no link "Install Visual Studio Express 2012 for Web"
Abra o Visual Studio e clique em New Project
Após o Visual Studio criar o projeto, a estrutura será essa, como na imagem abaixo:
Essa página é um controller padrão criado como exemplo.
Essa é a estrutura padrão de um controle:
Eu vou modificar o retorno do método Index para facilitar a
demonstração:
public class ExemploController : Controller
{
public string Index()
{
return "Exemplo MVC";
}
}
Ao pressionar F5 e chamar o controle na url, veja o
resultado:
Eu posso criar outros métodos, veja o exemplo abaixo:
public string nome(string valor)
{
return "Nome:" + valor;
}
Nesse exemplo o método nome irá imprimir na tela o valor
passado pelo usuário. Veja o resultado
Para adicionar uma View a esse controle é muito simples, primeiro você deve
dizer que seu método irá retornar uma view. Como abaixo:
public ActionResult ExemploView()
{
return View();
}
Após criar o método, clique com o botão direito dentro do
método e clique em Add View, como no exemplo abaixo:
A janela a seguir será exibida, é interessante utilizar o
mesmo nome do método para a View, isso ajuda na manutenção.
Na guia “Solution Explorer” é possível visualizar o local
onde a View foi criada. Veja na imagem abaixo:
O conteúdo padrão do arquivo ExemploView.cshtml é o abaixo:
@{
ViewBag.Title = "ExemploView";
}
<h2>ExemploView</h2>
Ao executar e chamar o controle exemplo e o método
ExemploView, veja o resultado. A propriedade ViewBag.Title é responsável pelo
texto exibido na barra de títulos.
public ActionResult ExemploView(string nome)
{
ViewBag.texto
= "Olá " + nome;
return View();
}
Você deve criar um método que receba esse valor, no exemplo
acima é uma string, nome.
Existe um controle dinâmico da view que é construído com o
nome que você quiser. Nesse exemplo eu criei uma propriedade com o nome texto e disse que ela tem o valor
“Olá “ concatenado com o valor digitado
pelo usuário.
No arquivo ExemploView.cshtml eu tenho que dizer que essa
informação será exibida.
@{
ViewBag.Title = "ExemploView";
}
<h2>ExemploView</h2>
@ViewBag.texto
Pressione F5 para ver o resultado:
Para adicionar um Model e trabalhar com esse tipo de camada
é mais simples ainda. Clique com o botão direito sobre o item Models e depois vá em Add-> Class
Adicionei uma classe com o nome de produto e inclui os
itens: id, nome, tipo e valor.
public class produto
{
public int ID { get; set; }
public string nome { get; set; }
public string tipo { get; set; }
public decimal valor { get; set; }
}
Para criar um controle utilizando essa classe será
necessário criar um DbContext apontando para ela. Veja o exemplo:
public class ProdutoContexto : DbContext
{
public DbSet<produto> produtos { get; set; }
}
Agora é necessário criar um controle apontando para essa
classe. Veja abaixo:
No exemplo acima eu criei o controle com o nome de produto e
em template disse que ele terá leitura, escrita e uma camada view.
Apontei para o model produto que criamos anteriormente e o contexto que foi criado dentro desse model.
Pressione F5 e chame o controle na URL. Como no exemplo abaixo:
Ao clicar no link Create
New a tela a seguir será exibida:
Preencha os campos, clique em gravar e veja o resultado.
Em principio eu tive um pouco de trabalho para entender como
funcionava o MVC, agora tudo ficou mais
fácil e ágil.
Estou trabalhando com MVC junto com LINQ, é sensacional. Vale
a pena tentar.
Em breve vou postar um exemplo utilizando com LINQ.
Utilizei como referência a própria documentação do Visual Studio e também o site http://www.asp.net/mvc
Rola uns jQuery ai?
ResponderExcluirOlá bom estou fzendo uma aplicação em C# usando o Modelo MVC mas estou com problemas com campo de auto-incremento esto usando banco access pois apenas é uma aplicação de teste
ResponderExcluirPoderia me ajudar ?
O que seria este erro?
ResponderExcluirCould not load file or assembly 'Newtonsoft.Json' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Achei bem explicativo, e de fácil compreensão, estarei
ResponderExcluircriando um exemplo de teste.
quemperturba.com.br
ResponderExcluir