Array
(
)

Receber HTML pronto e injetar em projeto MVC

Pjava
   - 03 jul 2013

Pessoal,eu recebo os html prontos. Como eu faço para inserir em uma aplicação MVC? Exemplo: O designer me manda o cadastro de clientes e agora como eu faço para inserir em uma aplicação MVC(não é web forms), com todo aquele contexto de View, Controller e etc...?
Qualquer ajuda é bem-vinda.

Pjava
   - 03 jul 2013

A dúvida é a seguinte. Vou receber um arquivo do designer, em formato html. Como eu faço para subir esse arquivo, quando o usuário clicar no botão cadastrar, que está em uma view razor, com MVC3?

Joel Rodrigues
   - 03 jul 2013

Se você observar, a view é composta principalmente por HTML e no projeto você encontra arquivos CSS. Não há segredo, é pegar o HTML e jogar na view e depois adicionar os códigos dinâmicos.

Pjava
   - 03 jul 2013

Joel, desculpe a minha ignorância. Vou jogar os códigos lá, do HTML e as imagens e css, nas suas devidas pastas e é só isso, para ter o layout que os designers fizeram?

Joel Rodrigues
   - 03 jul 2013

Você já trabalhou com Web Forms, certo? Não é muito diferente.
Comece pelas pastas das imagens e arquivos auxiliares.

Joel Rodrigues
   - 03 jul 2013

Quando chegar em casa, eu tento fazer um exemplo e te mostrar, pois agora estou no celular.

Pjava
   - 03 jul 2013

Ok e no aguardo

Joel Rodrigues
   - 04 jul 2013

Desculpe a demora. Vamos lá.
Supondo que o designer me mandou o seguinte HTML:
#Código
<html>
<head>
<link rel="stylesheet" href="meu_estilo.css"/>
</head>
<body>
<div id="cabecalho">
<h1>Título da página</h1>
</div>

<div id="menu">
<ul>
<li>Menu 1</li>
<li>Menu 2</li>
<li>Menu 3</li>
</ul>
</div>

<div id="conteudo">
</div>

<div id="rodape">
<span>Mensagem</span>
</div>
</body>
</html>

Joel Rodrigues
   - 04 jul 2013

Para usar esse layout eu vou lá em View > Shared e abro o arquivo _Layout.cshtml. É nele que vou inserir meu código HTML.
Então esse arquivo deve ficar assim:
#Código<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/meu_estilo.css")

</head>
<body>
<div id="cabecalho">
<h1>@ViewBag.Title</h1>
</div>

<div id="menu">
<ul>
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
</ul>
</div>

<div id="conteudo">
@RenderSection("featured", required: false);
@RenderBody()
</div>

<div id="rodape">
<span>@DateTime.Today.Year</span>
</div>
</body>
</html>

Repare que eu mantive alguns comandos começando com @, que são usados na renderização do conteúdo dinâmico.
As views serão então inseridas nessa página, onde consta o @RenderBody.
Sacou a ideia?

Pjava
   - 04 jul 2013

Entendi. Vou testar nesse final de semana e ver o que acontece. Obrigado.