Alguien podría preguntar cual es la necesidad de usar Includes teniendo tantas otras alternativas. En mi caso, tengo un proceso que genera HTMLs estáticos y necesito mostrarlos en una "caja" en el sitio.
Luego de algunas pruebas, estas son las mejores formas, según mi criterio, de usar Includes en ASP.NET y MVC.
Los includes tradicionales siguen funcionando
En principio los Includes tradicionales de ASP siguen funcionando, de modo que podemos usar:<!--#include virtual="/includes/pagina.htm"-->
para incluír un html a partir del root. También podemos usar
<!--#include virtual="../includes/pagina.htm"-->
para incluir un html en forma relativa a donde "estamos parados".
Esto funciona incluso si el TAG Include se encuentra dentro de un Partial View. El inconveniente es el de siempre: no podemos usar variables para definir cual archivos queremos incluir. Es decir, no podemos hacer esto:
<!--#include virtual="../includes/<%= nombreArchivo %>"-->
ya que el TAG include se interpretará antes que ASP.NET (aún con MVC donde todo pasa por ASP.NET).
Includes dinámicos
La forma que encontré para lograr "Includes dinámicos" es usar la sentenciaHtml.RenderPartial("PartialView")
La única restricción es que el archivo debe tener extensión .ascx (o aspx) pero no necesita la cabecera que lo define como Partial View si guardamos el archivo en la carpeta /Views/Shared. Es decir, podemos tomar una HTML, le cambiamos la extensión y lo incluimos con Html.RenderPartial.
En mi caso, el proceso que genera el HTML, ahora lo graba a disco con la extensión .ascx
2 comentarios:
hey amigo muy bueno sobre algoritmo y mira sabes sobre asp.net no encuentro manuales para poder aprender quisiera saber si tu podrias mandarme manuales de asp.net parap poder aprender como hacer una simple web cualquier cosa sencilla si no es ucho pedir gracias
Gustavo,
Si ya sabés de programación orientada a objetos, entonces todo lo que necesitas lo podés obtener en:
http://www.asp.net/
Si no sabés de OOP, entonces te puedo recomendar un libro que, si bien es viejo, tiene los conceptos muy claros.
Publicar un comentario