Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=1964abaa-ea8e-4aff-85ec-5cd3d0753f08

TRUCO: Cómo modificar la salida de una página ASPX a voluntad

Icono de advertencia ATENCIÓN: este contenido tiene más de 2 años de antigüedad y, debido a su temática, podría contener información desactualizada o inexacta en la actualidad.

TrucosProgramacion_2

Pueden existir ocasiones en las que la salida que nos devuelve una página ASPX no es de nuestro agrado. Si queremos modificar de algún modo, el HTML puro y duro que devuelve una página podemos sobrescribir el método Render de la página y ahí actuar a voluntad sobre el HTML generado.

Por ejemplo, imaginemos que queremos que todas nuestras páginas, automáticamente, lleven una nota de copyright justo al final. Hay muchas formas de conseguirlo (y muchas más sencillas), pero como ejemplo nos puede servir. Lo que podemos hacer es capturar el renderizado de la página y modificar el HTML devuelto.

Vamos a hacerlo para una sola página. Entonces, para sobrescribir el método Render, el código en VB sería así:

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
  Dim sw As New StringWriter
  Dim htmlsw As New System.Web.UI.HtmlTextWriter(sw)
  'Se renderiza la página
  MyBase.Render(htmlsw)

  'Se recupera el HTML
  Dim html As String
  html = sw.ToString()

  'Ahora se localiza el final de la página
  Dim pos As Integer
  pos = html.LastIndexOf("")

  'y se inserta un copyright
  If (pos >= 0) Then
    html = html.Insert(pos - 1, "(c) Mi empresa 2014")
  End If

  'Ahora se escribe a la salida de la página, representada por el parámetro HtmltextWriter 
  writer.Write(html)
End Sub

Es decir, el primer bloque hace que la página se renderice en nuestro propio "stream" en lugar de en el stream por defecto. Después lo transformamos en una cadena de texto para poder trabajar directamente sobre ella. Usando expresiones regulares podemos hacer lo que queramos sobre este HTML, lo que nos da una potencia increíble, aunque hay que tener cuidado de no tocar nada que haga que la página deje de funcionar.

En nuestro caso de ejemplo simplemente buscamos en dónde está el final del cuerpo de la página y metemos justo antes una nota de copyright.

Finalmente hay que escribir el contenido de la cadena al stream que ASP.NET se encarga de enviar al navegador del usuario, que es el que se nos pasa como parámetro a este método.

Con eso hemos modificado al vuelo nuestra página.

Fecha de publicación:
campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP
Archivado en: Desarrollo Web | Trucos

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.