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.