Blog Recent Posts

This Blog

Syndication

Search

Tags

News

Community

Email Notifications

Archives

Blogs recomendados

Sitios

Manipular iframe desde codebehind. Inscrustar paginas web.

¿Como puedo incrustar una pagina web dentro de un Panel? Fue la pregunta... y la respuesta la arme rapidamente y posteandola aqui para que quede para la posteridad ;)

El control web Panel se renderiza en el cliente (lease en el navagador) en un control html div (es la magia ASP.NET), y en HTML tenemos un control para poder "llamar por underground" otro contenido o mejor dicho otra pagina.. el famoso tag iframe

 

Crando un iframe

Puedes crear un iframe escribiendo directamente el tag

image

Alli podriamos simplemente introducir el origen a cargar (propiedad src)

<iframe src="http://geeks.ms"/>

Ejemplo en vivo y en directo:

Aqui la imagen...
image
 

Pero que pasa si queremos manipular este control y sus propiedades desde el codebehind?

Aqui tendremos que convertilo en un html control del lado del servidor.. como? Asigando un identificador para referenciarlo y por supuesto agregando la propiedad runat="server"
<iframe id="iframe1" runat="server" />
Y alli si lo tendremos disponible
image
 
Pero donde esta la propiedad src?
Si queremos asignar iframe1.src, no la tenemos disponible por tratarse de un HtmlGenericControl
image
Entonces debemos tratarlo como un atributo...
iframe1.Attributes.Add("src", "http://geeks.ms")
 
Tambien podremos manipularlo a la coleccion de atributos como cualquier otra collection tipo hashtable
image
Quedando:
iframe1.Attributes("src") = http://geeks.ms
 
 
 
Ya sabemos manipular nuestro iframe, pero como agregarlos a un control panel?
Si queremos realizarlo en tiempo de ejecucion, sabemos que el control Panel es un contenedor de controles por lo tengo
image
Debemos crear un control hijo del tipo del iframe (que es un HtmlGenericControl) y agregarlo a la coleccion de controles.
Dim iframe2 As New HtmlGenericControl("iframe")
iframe2.Attributes("src") = "http://geeks.ms"
Panel1.Controls.Add(iframe2)
 
Como veras al crear el control HTMLGenericControl utilice una sobrecarga del contructor donde enviamos el nombre del tag a crear o sino nos crea un control html span
 
Luego tendriamos que maipular alguna que otra propiedad para nuestras necesidades (width, height, style o especificando una class de css, etc)
 
Espero que les sirva de ayuda o guia
 

Enlaces:

 
 
 

Published 10/11/2007 16:05 por José A. Fernández

Archivado en:
Comparte este post:

Comentarios

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Monday, December 3, 2007 9:13 PM

Oye, este artículo está muy bien. Pero después de leerlo me surgió una duda, es lo que tendría que hacer para meter un archivo de código jsp dentro de un documento asp.net?

O en ese caso qué tendría que utilizar?

Gracias

Kim

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Friday, September 26, 2008 3:02 PM

capo, he buscado esto en no se cuantas paginas y foros y nadie tiene  idea y menos de explicar que no pertenece htmlgenericcontrol

idoloooooooooo

Luis

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Monday, October 27, 2008 6:07 AM

la verdad que sos un grande tu mini tutorial me saco de un gran apuro se agradece mucho

damian

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Tuesday, November 4, 2008 9:32 PM

Muchas gracias por tu aportación, bien explicada y fue indispensable para sacar adelante un trabajo.

Jesús Montemayor

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Tuesday, April 21, 2009 9:10 PM

Gracias, me sirvio de mucho

Jose Celso

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Wednesday, June 3, 2009 7:46 PM

muy buena explicacion, gracias me sirvio!!!!!

:p

kensou

# [ASP.NET] Submit a un iFrame dentro de la misma pagina. Con PostbackUrl y modificando el target del formulario (JS puro y jQuery)@ Saturday, March 26, 2011 6:17 PM

Por una pregunta sobre este tema “ Enviar datos a una forma dentro de un iframe ”, desempolve algo que

<Jose A. Fernandez />

# [ASP.NET] Submit a un iFrame dentro de la misma pagina. Con PostbackUrl y modificando el target del formulario (JS puro y jQuery)@ Saturday, March 26, 2011 6:18 PM

Por una pregunta sobre este tema “ Enviar datos a una forma dentro de un iframe ”, desempolve algo que

Jose A. Fernandez

# re: Manipular iframe desde codebehind. Inscrustar paginas web.@ Tuesday, August 13, 2013 4:40 PM

Excelente ayuda me ayudo muchisimo

corsario007