August 2007 - Artículos
Trabajar con iFrames es una tarea bastante ingrata sobre todo cuando te interesa que el contenedor se adapte al tamaño del contenido.
Buscando por internet encontré unos ejemplos muy interesantes:
- El de Microsoft http://support.microsoft.com/kb/278469/es
- El de los foros http://www.forosdelweb.com/showthread.php?t=510457
Nos explican como aprovechar el evento onload del BODY para lanzar una función javaScript que recalcule el tamaño.
Pero que pasa si la página del iFrame utiliza Ajax.Net ?????
Pues que como ajax.net carga parcialmente la página no se lanza el evento onload de nuevo.Entonces seguí surfeando por la web y encontré otro artículo muy interesante http://netcodigo.webinfo.es/2007/02/02/controlar-llamadas-asincronas-con-aspnet-ajax/.
Con este artículo conocí la clase PageRequestManager clase encargada de controlar el renderizado parcial de las páginas, tenemos eventos, Métodos y propiedades para proporcionarnos este servicio.
- PageRequestManager Class
- Events
- beginRequest Event
- endRequest Event
- initializeRequest Event
- pageLoaded Event
- pageLoading Event
- Methods
- abortPostBack Method
- dispose Method
- getInstance Method
- Properties
- isInAsyncPostBack Property
Realmente muy interesante !!!
se me ocurren un montón de utilidades posibles ;-)
Podéis obtener más información en :
http://asp.net/ajax/documentation/live/clientreference/Sys.WebForms/PageRequestManagerClass/default.aspx
Bueno no me desviaré del tema y seguiremos con el ejemplo.
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True"></asp:ScriptManager><script type="text/javascript">var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(Redimensionar);onload = function Redimensionar(sender,art){top.window.document.getElementById("demoFrame").height = document.getElementById("aspnetForm").offsetHeight;top.window.document.getElementById("demoFrame").width = document.getElementById("aspnetForm").offsetWidth;}</script>
- Tenemos que activar la propiedad EnablePageMethods="True" he instanciar la clase PageRequestManager para utilizarla.
var prm = Sys.WebForms.PageRequestManager.getInstance();
- Asociamos el evento que nos interesa a una función javascript
prm.add_endRequest(Redimensionar);
- Creamos el script que redimensionará el iFrame.
Para probar el código he creado un proyecto que utiliza una página con un iframe y un update panel.
<iframe frameborder="0" id="demoFrame" marginheight="0" marginwidth="0" scrolling="no" src="Pagina1.aspx"> </iframe> Al clicar el botón se aplica un bucle que aumenta el tamaño de la página.
Muy importante este ejemplo solo funciona con páginas dentro del mismo Dominio como muy bien lo explican en el primer link de Microsoft.
Si queréis bajaros el proyecto lo podéis hacer desde este link. http://lonetcamp.com/Community/files/folders/art/entry54.aspx
Saludos a Todos :-)
Los amigos de Málaga .NET User Group han abierto el registro gratuito para su evento de Octubre(15 y 16 de octubre 2007 - Malaga, Spain).
Según sus propias palabras el evento es:
La conferencia va a cubrir un amplio rango de temas, y las ponencias estarán disponibles tanto en español como en inglés. Expertos de todo el mundo van a participar durante los dos días que durará el evento. Será tu oportunidad para interactuar con tus compañeros de profesión y charlar con los ponentes durante este evento relajado.
Los ponentes son de renombre internacional como:
-
Near Ford, Thoughtworks
-
Michael Li, InfoCan Management
-
Chad Hower, Woo-hoo
-
Dino Esposito, Solid Quality Leaning
-
Hadi Hariri, Atozed Software
-
Octavio Hernandez, Plain Concepts
-
Guillermo Som, Solid Quality Learning
-
Martin Luis Lopez, Adesis NetLife
-
José Manuel Alarcón Aguín, Krasis
-
Unai Zorrilla Castro, Plain Concepts
Como podéis comprobar es la crem de la crem y totalmente gratis.
Para mas información http://www.octoberconference.net
Para registrarse http://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&EventID=1032348903
Espero que nadie falte 
En realidad no soy tan nuevo
pero hasta ahora no me había planteado la posibilidad de tener mi propio rinconcito.
Pero bueno, todas las aportaciones al conocimiento común espero que sean bien acogidas por todos.
Para empezar y para que podáis conocerme un poquito mejor os dejo un par de links a unos artículos que publiqué en elguille y que espero que aún sean útiles para todos:
-
Creación e Impresión de Código de Barras utilizando Fuentes Personalizadas ( True Type )
-
Mostrar el Texto largo de un control DropDownList
Bueno espero veros pronto a todos por este sitio.