Você está na página 1de 10

NICA

FACULDADE NICA DE CONTAGEM


Anlise e Desenvolvimento de Sistemas

ALUNO:

CLEBER GOMES MOREIRA

Disciplina:

PROGRAMAO DINMICA

Data da Aplicao:

Professor:

EDER

Nota:

07/05/2015

1) Cite e explique os Helpers contidos @HTML. (Focar nos Helpers de formulrios).


HTML Helper apenas um mtodo que retorna um string com o contedo das tags HTML, tambm
podemos usar HTML Helpers para tornar os contedos mais complexos fceis de usar. A estrutura do
ASP.NET MVC j inclui alguns HTML. HTML Helpers so mtodos que podem ser chamados dentro dos
blocos de cdigo, e que encapsulam a gerao de cdigo HTML dessa forma agilizando a codificao
A funo de um HTML Helper encapsular um cdigo XHTML. Por exemplo, para adicionar um link,
podemos usar o mtodo ActionLink do objeto Html, ao invs de usar a tag <a> do HTML diretamente O
helper ActionLink utilizado para gerar os links das pginas de uma aplicao web. Esse helper pode ser
utilizado de diversas maneiras. No ASP.NET MVC, h um conjunto de HTML Helpers para facilitar a
criao de formulrios nas pginas de uma aplicao web. Para criar um formulrio, utilizamos o helper
BeginForm. Para terminar um formulrio, utilizamos o helper EndForm.
2) Para que serve o Layout Master, que geralmente fica na pasta Shared.
O Layout Master serve para que todas as Views tenham consistncia e uniformidade.
3) Defina Razor.
Razor uma View Engine que permite usar mtodos de programao na camada View.
O ASP.NET Razor uma view engine que j est includa no WebMatrix, com ele temos a possibilidade de
inserir a lgica da aplicao diretamente na camada de visualizao do projeto, por exemplo, possvel
inserir a sintax razor junto com os cdigos HTML dentro da mesma pgina, a sintaxe do ASP.NET Razor
extremamente simplificada, baseado na linguagem C# .NET, embora seja possvel utilizar a linguagem
Visual Basic .NET.
O Razor permite que voc adicione o cdigo do servidor ao contedo do cliente, sendo que em uma nica
pagina criada com o WebMatrix voc poder utilizar marcaes HTML em conjunto com cdigo ASP.NET
1

Razor. Utilizando o caractere @ para iniciar um expresso de condio ou apresentar o contedo de uma
varivel. Quando voc exibe o contedo de uma pgina utilizando o carter @, o ASP.NET RAZOR
codifica a sada, substituindo caracteres reservados do HTML com os cdigos que permitem que sejam
exibidos como texto em uma pgina web ao invs de serem interpretados como tag HTML.
4) Qual a importncia do BIND entre o Model e a View?
Unio de dados que refere-se ao processo de ajuste automtico e propriedades de um ou mais controles de
formulrio em tempo de execuo a partir de uma estrutura que contm dados. Com ligao de dados, voc
no precisa escrever explicitamente o cdigo que instancia uma conexo e cria um conjunto de dados
(como voc faria com um formulrio independente). Os assistentes associados com o Windows Forms
escrever o cdigo ADO.NET necessrio para voc. Formulrios do Windows permitem que voc ligar
facilmente a quase qualquer estrutura que contm dados.

5) O Que o DATA ANNOTATION, cite e explique cada um.


Data anottation um recurso utilizado para para a validao dos dados nas aplicaes, provendo atributos
de classes e metodos que podemos usar em nossas classes para alterar as converes padres e definir um
comportamento personalizado. Podemos utilizar anotaes para sobrescrever as convenes de
mapeamento
Required: Obriga a entrada de um campo especifico
RegularExpression: Permite usar expresses regulares em validaes mais especificas
Display- define o texto que sera visivel para uma propiedade quando usada em um camop de formulario
StringLength: Determina a quantidade maxima de caracteres que podera ser informada
DataType- Associa um tipo adicional a uma propiedade
DisplayFormat- Aplica um formato definido a uma propiedade
Range: Define um intervalo para uma propiedade onde a validao sera aplicada
Table e Column No Entity Framework, os nomes das tabelas e das colunas so definidos por conveno.
Contudo, podemos personaliz-los de acordo com a necessidade atravs das anotaes Table e Column. A
anotao Column tambm permite a escolha do tipo da coluna correspondente propriedade anotada.
Database Generated: Por padro, quando a propriedade correspondente chave primria de uma tabela
numrica, os valores dessa chave sero gerados pelo banco de dados. Podemos alterar esse comportamento
atravs da anotao Database Generated.
MaxLength e MinLength: Tamano mximo e tamanho mnimo.

NotMapped como exemplo pode ser calculada a partir da propriedade DataDeNascimento. Portanto, no
necessrio armazenar o valor da idade no banco de dados. Nesses casos, podemos utilizar a anotao
NotMapped e indicar quais propriedades no devem ser mapeadas nas tabelas

6) Explique a questo LAMBIDA.


Pode-se usar para gravar funes locais que podem ser passadas como argumentos ou serem retornadas
como o valor de chamadas de funo. So particularmente uteis para escrever expresses de consulta
LINQ.

PRTICA
CONTATO (atributos) cdigos e descrio
CLASSE CLIENTE (ATRIBUTOS) "cdigos e nome", entre o contato cliente teremos uma associao pai
contato
CLASSE USUARIO (atributos) "cdigo nome e-mail e senha", entre cliente e usurio existe um associao
tambm aonde o pai o cliente.
1 Codifique os controle de criao e de listagem de cada entidade.
2 Identifique o resource, action e parmetros da questo anterior.
3 Codifique a VIEW de cada entidade utilizando os Helpers.
1 Codifique os controle de criao e de listagem de cada entidade.
Contato Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebApplication2.Controllers
{
public class ContatoController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Details(int id)
{
return View();
}
3

public ActionResult Create()


{
return View();
}
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult Edit(int id)
{
return View();
}
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult Delete(int id)
{
return View();
}
[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
4

{
return View();
}
}
}
}
Cliente Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebApplication2.Controllers
{
public class ClienteController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Details(int id)
{
return View();
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult Edit(int id)
{
return View();
5

}
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult Delete(int id)
{
return View();
}
[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
}
Usuario Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebApplication2.Controllers
{
public class UsuarioController : Controller
{
public ActionResult Index()
6

{
return View();
}
public ActionResult Details(int id)
{
return View();
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult Edit(int id)
{
return View();
}
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
public ActionResult Delete(int id)
{
return View();
}
7

[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
}
2 Identifique o resource, action e parmetros da questo anterior.
ClienteController/index/01
ContatoController/index/02
UsusarioController/index/03
3 Codifique a VIEW de cada entidade utilizando os Helpers.
Cliente View:
@model IEnumerable<WebApplication2.Models.ClienteModels>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.condigo)
</th>
<th>
@Html.DisplayNameFor(model => model.nome)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.condigo)
</td>
<td>
@Html.DisplayFor(modelItem => item.nome)
</td>
8

<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
</table>
Usuario View:
@model IEnumerable<WebApplication2.Models.UsuarioModels>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.condigo)
</th>
<th>
@Html.DisplayNameFor(model => model.nome)
</th>
<th>
@Html.DisplayNameFor(model => model.email)
</th>
<th>
@Html.DisplayNameFor(model => model.senha)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.condigo)
</td>
<td>
@Html.DisplayFor(modelItem => item.nome)
</td>
<td>
@Html.DisplayFor(modelItem => item.email)
</td>
<td>
@Html.DisplayFor(modelItem => item.senha)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
9

</td>
</tr>
}
</table>
Contato View:
@model IEnumerable<WebApplication2.Models.ContatoModels>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.condigo)
</th>
<th>
@Html.DisplayNameFor(model => model.descrio)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.condigo)
</td>
<td>
@Html.DisplayFor(modelItem => item.descrio)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
</table>

10

Você também pode gostar