Antes de começarmos a colocar a “mão na massa” é bom estudarmos o conceito.
Primeiramente quero lembrar que o MVC não é um padrão inventado pela Microsoft, já existe a alguns anos.
Com o aumento da complexidade das aplicações desenvolvidas, sentiu-se a necessidade da separação de dados e layout, pois para alterar a interface do usuário havia a necessidade de alterar os dados e vice-versa. O MVC(Models-Views-Controllers), resolve este problema com um componente chamado Controller, que define o comportamento da aplicação.
Mas enfim, o que são models, controllers e views? O que eles fazem?
No model encontram-se os dados da aplicação e as regras de negócio, que comandam o acesso e a modificação de dados, ou seja, modela dados e seus comportamentos, só se preocupa com armazenamento, manipulação e geração de dados e tem comportamento independente da apresentação(interface usuário).
Controller processa e responde a eventos e faz validação de dados, em outras palavras, ele pega no model o que a view precisa ou então pega os dados da view e manda para o model, para que este se comunique com o banco se necessário. Em outras palavras, serve como uma camada intermediária entre a view e o model, ou seja, entre a interface de usuário e a lógica.
View: Renderiza o model, é a interface de usuário. Onde se encontram as tags html, por exemplo.
Para ficar um pouco mais fácil de visualizar a relação entre eles, abaixo há um esqueminha.

Imagem tirada: http://blog.mauriciojunior.org/image.axd?picture=image.axd.png