<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-35515711</atom:id><lastBuildDate>Sun, 27 Nov 2011 23:44:56 +0000</lastBuildDate><category>Argentina</category><category>Currículum</category><category>Microsoft</category><category>Células.NET</category><category>NET3.5</category><category>Córdoba</category><category>Conferencias</category><category>MINDSTORM</category><category>NET2.0</category><category>LEGO</category><category>Juan Pablo Ibañez</category><category>NXT</category><category>CV</category><category>Interview</category><category>Ajax</category><category>ASP.NET</category><title>Juan Pablo Ibañez's blog</title><description>En este blog encontrarás experiencias personales en tecnologías Microsoft y también en todo lo relacionado con Ingeniería en Sistemas.</description><link>http://ingjuanpablo.blogspot.com/</link><managingEditor>noreply@blogger.com (Ing.JuanPablo)</managingEditor><generator>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ingjuanpablo" /><feedburner:info uri="ingjuanpablo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-5761214995662577546</guid><pubDate>Fri, 15 Aug 2008 13:57:00 +0000</pubDate><atom:updated>2008-08-19T12:49:42.638-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/08/cul-es-el-pid-de-un-application-pool.html"&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;[MISC] ¿Cuál es el PID de un Application Pool?&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Nunca me había preguntado esto hasta que un proceso w3wp.exe, o sea un Application Pool, o sea el lugar donde está corriendo uno o varios aplicativos ASP.NET, se colgó y puso la CPU del servidor al 100%. En ese momento que hicimos?, matamos el proceso porque estaba generando problemas al resto del servidor pero no sabiamos cual era el Application Pool al cual pertenecia el proceso w3wp.exe.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;En el TaskManager podemos ver todos los Application Pools (w3wp.exe) corriendo en el servidor y su correspondiente PID.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0SUJmvhOBfg/SKrfbSv63iI/AAAAAAAAAaU/DJYmS1Wiu20/s1600-h/TaskManager.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_0SUJmvhOBfg/SKrfbSv63iI/AAAAAAAAAaU/DJYmS1Wiu20/s400/TaskManager.jpg" alt="" id="BLOGGER_PHOTO_ID_5236243176753913378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;En en IIS podemos ver los Application Pools que tenemos configurados pero no nos dice cual es el PID.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0SUJmvhOBfg/SKrfqn___yI/AAAAAAAAAac/UNZiczxdO8Y/s1600-h/ApplicationPool.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_0SUJmvhOBfg/SKrfqn___yI/AAAAAAAAAac/UNZiczxdO8Y/s400/ApplicationPool.jpg" alt="" id="BLOGGER_PHOTO_ID_5236243440156540706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Una forma de hacer esa correlación es mediante un script que encontré gracias al querido&lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.google.com/"&gt; www.google.com&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;. Como usar este script pueden encontrarlo &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.powerasp.com/content/new/which-process-ID-belongs-to-what.asp"&gt;aquí&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;, pero basicamente lo que hay hacer es ejecutar &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:Arial;font-size:85%;"  &gt;c:\windows\system32\cscript.exe  c:\windows\system32\iisapp.vbs&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; desde un .bat.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;El resultado de la ejecución del script seria lo siguiente:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0SUJmvhOBfg/SKro1StfLbI/AAAAAAAAAak/W3T9pUQXiXI/s1600-h/Resultado.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_0SUJmvhOBfg/SKro1StfLbI/AAAAAAAAAak/W3T9pUQXiXI/s400/Resultado.jpg" alt="" id="BLOGGER_PHOTO_ID_5236253519024958898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Quiero agradecer a la persona que escribió el artículo de donde saqué la info para este post.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-5761214995662577546?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/e2yHc1W8SZY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/e2yHc1W8SZY/cul-es-el-pid-de-un-application-pool.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_0SUJmvhOBfg/SKrfbSv63iI/AAAAAAAAAaU/DJYmS1Wiu20/s72-c/TaskManager.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/08/cul-es-el-pid-de-un-application-pool.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-3195674502292632655</guid><pubDate>Tue, 29 Jul 2008 16:56:00 +0000</pubDate><atom:updated>2008-08-19T12:50:00.924-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;div dir="ltr"&gt;&lt;span id="x1u5"  style="font-size:85%;"&gt;&lt;span id="qzjj" lang="es-AR"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/07/asp.html"&gt;&lt;b id="r:.l"&gt;[ASP.NET2.0] Está viva tu aplicación web?&lt;br /&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;  &lt;/span&gt;&lt;br /&gt;por Ing. Juan Pablo Ibañez&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="a2cd" style="color: rgb(0, 0, 128);font-size:85%;" &gt;&lt;u id="qwpz"&gt;&lt;a id="lfm6" href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span id="f80q" lang="es-AR"&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;  &lt;/u&gt;&lt;/span&gt;&lt;p id="oxw5"&gt;&lt;a href="http://asp.net/"&gt;ASP.NET&lt;/a&gt; 2.0 está provisto de una funcionalidad que nos permite supervisar el estado de las aplicaciones &lt;a href="http://asp.net/"&gt;ASP.NET&lt;/a&gt; implementadas, brindándonos información en tiempo de ejecución detallada. Con esta funcionalidad podemos loguear todos los acontecimientos (eventos, errores, etc.) de nuestra aplicación a un archivo de texto, al Event Viewer, a una casilla de mail, etc.&lt;/p&gt;Esta funcionalidad se llama &lt;a title="healthMonitoring" href="http://msdn.microsoft.com/en-us/library/ms178701.aspx" id="f9.j"&gt;healthMonitoring&lt;/a&gt; y para hacer uso de ella basta en la mayoría de los casos con agregar una serie de entradas en el web.config.&lt;br /&gt;&lt;p id="qq481"&gt;En este artículo vamos a ver principalmente un evento de &lt;a title="healthMonitoring" href="http://msdn.microsoft.com/en-us/library/ms178701.aspx" id="masj"&gt;healthMonitoring&lt;/a&gt; que puede ser capturado llamado &lt;a title="WebHeartbeatEvent" href="http://msdn.microsoft.com/en-us/library/system.web.management.webheartbeatevent.aspx" id="d5q3"&gt;WebHeartbeatEvent&lt;/a&gt;. Este evento puede ser configurado para que de dispare cada un cierto tiempo, lo que provoca un efecto de latido. Mientras el servidor y nuestra aplicación estén up cada cierto tiene se disparará este "latido" y podremos saber que nuestra aplicación está en funcionamiento. Se puede configurar este evento para que grabe un log en el EventViewer, en un archivo de texto, o mande un mail.  &lt;/p&gt;&lt;p id="fo1g1"&gt;A continuación vemos las entradas que debemos agregar en el Web.config para que mande un mail cada vez que se produce el evento.&lt;/p&gt; &lt;p id="xy5m1"&gt;Debemos configurar para que nuestra aplicación pueda mandar mails, por ejemplo de esta forma:&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&amp;lt;system.net&amp;gt;&lt;br /&gt;    &amp;lt;mailSettings&amp;gt;&lt;br /&gt;        &amp;lt;smtp from="xxxxxxxxxx@xxxxxxxxxx.xxx" &amp;gt;&lt;br /&gt;            &amp;lt;network host="xxx.xxx.xxx.xxx" /&amp;gt;&lt;br /&gt;        &amp;lt;/smtp&amp;gt;&lt;br /&gt;    &amp;lt;/mailSettings&amp;gt;&lt;br /&gt;&amp;lt;/system.net&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="xy5m1"&gt;Ahora si configuramos las entradas para &lt;a title="healthMonitoring" href="http://msdn.microsoft.com/en-us/library/ms178701.aspx" id="gxbp"&gt;healthMonitoring&lt;/a&gt;:&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&amp;lt;healthMonitoring enabled ="true" heartbeatInterval="0"&amp;gt;&lt;br /&gt;    &amp;lt;providers&amp;gt;&lt;br /&gt;               &amp;lt;add name="mail"&lt;br /&gt;                           type="System.Web.Management.SimpleMailWebEventProvider"&lt;br /&gt;                to="xxxxxxxxxx@xxxxxxxxxx.xxx"&lt;br /&gt;                           from="xxxxxxxxxx@xxxxxxxxxx.xxx"&lt;br /&gt;                           buffer="false"&lt;br /&gt;                subjectPrefix="Event "/&amp;gt;&lt;br /&gt;       &amp;lt;/providers&amp;gt;&lt;br /&gt;       &amp;lt;rules&amp;gt;&lt;br /&gt;               &amp;lt;add name="mail Heartbeats"&lt;br /&gt;                       eventName="LogueoHeartbeats"&lt;br /&gt;                       provider="mail"&lt;br /&gt;                       profile="Default"&lt;br /&gt;                       minInstances="1"&lt;br /&gt;                       maxLimit="Infinite"&lt;br /&gt;                       minInterval="00:30:00"&lt;br /&gt;                       custom=""/&amp;gt;&lt;br /&gt;    &amp;lt;/rules&amp;gt;&lt;br /&gt;       &amp;lt;eventMappings&amp;gt;&lt;br /&gt;        &amp;lt;add name="LogueoHeartbeats"&lt;br /&gt;                       type="System.Web.Management.WebHeartbeatEvent,&lt;br /&gt;                                   System.Web,Version=2.0.0.0,Culture=neutral,&lt;br /&gt;                                   PublicKeyToken=b03f5f7f11d50a3a"&lt;br /&gt;                       startEventCode="0"&lt;br /&gt;            endEventCode="2147483647" /&amp;gt;&lt;br /&gt;       &amp;lt;/eventMappings&amp;gt;&lt;br /&gt;&amp;lt;/healthMonitoring&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p id="z7g42"&gt; &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-3195674502292632655?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/cM_3J5dYTgY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/cM_3J5dYTgY/asp.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/07/asp.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-3043506834853775696</guid><pubDate>Mon, 07 Jul 2008 20:49:00 +0000</pubDate><atom:updated>2008-08-19T12:49:52.849-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ajax</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title>[AJAX] Emular el UpdateProgress con ModalPopup</title><description>&lt;font id=x1u5 size=2&gt;&lt;span id=qzjj lang=es-AR&gt;&lt;br id=r:.l1&gt; por Ing. Juan Pablo Ibañez&lt;br id=nhc2&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color=#000080 id=a2cd size=2&gt;&lt;u id=qwpz&gt;&lt;a href=http://ing.juanpablo.googlepages.com/ id=lfm6&gt;&lt;span id=f80q lang=es-AR&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;&lt;br id=wo1c0&gt; &lt;br id=wo1c1&gt; &lt;/u&gt;&lt;/font&gt;&lt;font id=q3bf size=2&gt;Uno de los controles mas usados de la librería AJAX de Microsoft (ajax.asp.net) es el control UpdatePanel. Este control nos permite hacer un postback parcial de la página y solamente modificar una sección de la misma sin tener que recargar completamente la página. Cuando este postback parcial demora mucho, es conveniente mostrarle el estado al usuario, generalmente se muestra un mensaje como por ejemplo "cargando...", "loading...", "procesando...", etc.&lt;br id=y56b&gt; La librería AJAX de Microsoft nos permite hacer esto mediante el control UpdateProgress. Usar este control es sumamente fácil, lo que debemos hacer es definir en un div, por ejemplo, el templete que deseamos que se muestre cuando se está realizando un postback asíncrono.&lt;br id=z2v8&gt; &lt;br id=z2v80&gt; Un ejemplo de UpdateProgress seria:&lt;br id=p_bz&gt; &lt;br id=p_bz6&gt; &lt;/font&gt; &lt;p class=MsoNormal id=ioag5&gt;   &lt;font id=q3bf0 size=2&gt;&lt;span id=ioag6 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=ioag8 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=ioag9 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=ioag10 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=ioag11 style=COLOR:maroon&gt;UpdateProgress&lt;/span&gt;   &lt;span id=ioag12 style=COLOR:red&gt;ID&lt;/span&gt;&lt;span id=ioag13 style=COLOR:blue&gt;="UpdateProgress1"&lt;/span&gt;   &lt;span id=ioag14 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=ioag15 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ioag17&gt;   &lt;font id=q3bf1 size=2&gt;&lt;span id=ioag18 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag19 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt0&gt;ProgressTemplate&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag20 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt1&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ioag22&gt;   &lt;font id=q3bf2 size=2&gt;&lt;span id=ioag23 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;An   update is in progress...&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ioag26&gt;   &lt;font id=q3bf3 size=2&gt;&lt;span id=ioag27 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag28 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt4&gt;ProgressTemplate&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag29 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt5&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ioag31&gt;   &lt;font id=q3bf4 size=2&gt;&lt;span id=ioag32 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt6&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag33 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt7&gt;asp&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag34 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt8&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag35 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt9&gt;UpdateProgress&lt;/font&gt;&lt;/span&gt;&lt;span id=ioag36 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt10&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;font id=q3bf5 size=2&gt;&lt;br id=qsiz&gt; Cuando algunos de los UpdatePanel que tenga nuestra página .aspx haga un postback parcial, aparecerá el UpdateProgress y el usuario sabrá que debe esperar hasta que se actualice la parte de la página que está englobada en el UpdatePanel.&lt;br id=zk4b&gt; &lt;br id=zk4b0&gt; Hasta aquí es todo muy simple, el problema surge generalmente cuando el usuario no espera que se actualice la página y hace click nuevamente en el botón, o en otros botones y genera sucesivos postback parciales de la página. Para evitar esto existen varias soluciones:&lt;br id=aep4&gt; &lt;/font&gt; &lt;ol id=aep40&gt;   &lt;li id=aep41&gt;     &lt;font id=q3bf6 size=2&gt;Deshabilitar del lado del cliente por Javascript todos     los controles que hagan postback al servidor hasta que finalice la     actualización parcial de la página. El problema es que requiere mucho código     Javascript para hacerlo. Si agregamos un control nuevo, tenemos que     modificar nuestra rutina para contemplar este nuevo control.&lt;/font&gt;   &lt;/li&gt;   &lt;li id=lf.8&gt;     &lt;font id=q3bf7 size=2&gt;Otra opción, que es la razón de este artículo es     utilizar un ModalPopup que cuando presionemos cualquier control que haga un     postaback parcial aparezca bloqueando toda posibilidad de que el usuario     haga un click en otro control. La ventaja de esta solución es que podemos     implementarla de manera tal que sea independiente de la cantidad de     controles que tenga nuestra página y de cantidad de páginas que tenga     nuestro sitio, etc, etc, etc.&lt;/font&gt;   &lt;/li&gt; &lt;/ol&gt; &lt;font id=q3bf8 size=2&gt;&lt;br id=d1ih&gt; Los elementos que debemos utilizar en esta segunda opción son:&lt;br id=d1ih0&gt; &lt;/font&gt; &lt;ol id=d1ih1&gt;   &lt;li id=d1ih2&gt;     &lt;font id=q3bf9 size=2&gt;MasterPage.&lt;/font&gt;   &lt;/li&gt;   &lt;li id=d1ih3&gt;     &lt;font id=q3bf10 size=2&gt;ModalPopup.&lt;/font&gt;   &lt;/li&gt;   &lt;li id=n3e7&gt;     &lt;font id=q3bf11 size=2&gt;Sys.WebForms.PageRequestManager.&lt;/font&gt;   &lt;/li&gt; &lt;/ol&gt; &lt;font id=q3bf12 size=2&gt;&lt;br id=jmq_&gt; La idea es armar un esquema que no necesite ser replicada en cada una de los webforms que creemos en nuestra aplicación, es por eso que utilizaremos una MasterPage. Es decir en nuestra MasterPage tendremos definido el ModalPopup y el Javascript necesario para hacerlo aparecer, cuando se lance una petición de postback parcial por cualquiera de los controles definidos en cualquiera de nuestros webforms que tengan seteada nuestra MasterPage y también ocultar el ModalPopup cuando la actualización esté terminada.&lt;br id=kk_u&gt; &lt;br id=kk_u0&gt; Muestra MasterPage podría ser:&lt;br id=vgn4&gt; &lt;br id=vgn40&gt; &lt;/font&gt; &lt;p class=MsoNormal id=vgn47&gt;   &lt;font id=q3bf13 size=2&gt;&lt;span id=vgn48 lang=EN-GB style='BACKGROUND:yellow none repeat scroll 0% 0%; FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt11&gt;&amp;lt;%&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn49 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt12&gt;@&lt;/font&gt;&lt;/span&gt;   &lt;span id=vgn410 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn411 style=COLOR:maroon&gt;Master&lt;/span&gt;   &lt;span id=vgn412 style=COLOR:red&gt;Language&lt;/span&gt;&lt;span id=vgn413 style=COLOR:blue&gt;="C#"&lt;/span&gt;   &lt;span id=vgn414 style=COLOR:red&gt;CodeFile&lt;/span&gt;&lt;span id=vgn415 style=COLOR:blue&gt;="MasterPage.master.cs"&lt;/span&gt;   &lt;span id=vgn416 style=COLOR:red&gt;Inherits&lt;/span&gt;&lt;span id=vgn417 style=COLOR:blue&gt;="MasterPage"&lt;/span&gt;   &lt;span id=vgn418 style="BACKGROUND:yellow none repeat scroll 0% 0%"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn430&gt;   &lt;font id=q3bf14 size=2&gt;&lt;span id=vgn421 lang=EN-GB style='BACKGROUND:yellow none repeat scroll 0% 0%; FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt13&gt;&amp;lt;%&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn422 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt14&gt;@&lt;/font&gt;&lt;/span&gt;   &lt;span id=vgn423 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn424 style=COLOR:maroon&gt;Register&lt;/span&gt;   &lt;span id=vgn425 style=COLOR:red&gt;Assembly&lt;/span&gt;&lt;span id=vgn426 style=COLOR:blue&gt;="AjaxControlToolkit"&lt;/span&gt;   &lt;span id=vgn427 style=COLOR:red&gt;Namespace&lt;/span&gt;&lt;span id=vgn428 style=COLOR:blue&gt;="AjaxControlToolkit"&lt;/span&gt;   &lt;/span&gt;&lt;span id=vgn431 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn433 style=COLOR:red&gt;TagPrefix&lt;/span&gt;&lt;span id=vgn434 style=COLOR:blue&gt;="cc1"&lt;/span&gt;   &lt;span id=vgn435 style="BACKGROUND:yellow none repeat scroll 0% 0%"&gt;%&amp;gt;&lt;br id=x3e7&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=x3e70&gt;   &lt;font id=q3bf15 size=2&gt;&lt;br id=x3e71&gt;   &lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn440&gt;   &lt;font id=q3bf16 size=2&gt;&lt;span id=vgn441 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt15&gt;&amp;lt;!&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn442 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt16&gt;DOCTYPE&lt;/font&gt;&lt;/span&gt;   &lt;span id=vgn443 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn444 style=COLOR:red&gt;html&lt;/span&gt;   &lt;span id=vgn445 style=COLOR:red&gt;PUBLIC&lt;/span&gt;   &lt;span id=vgn446 style=COLOR:blue&gt;"-//W3C//DTD XHTML 1.0   Transitional//EN"&lt;/span&gt;   &lt;span id=vgn447 style=COLOR:blue&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn449&gt;   &lt;font id=q3bf17 size=2&gt;&lt;span id=vgn450 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt17&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn452&gt;   &lt;font id=q3bf18 size=2&gt;&lt;span id=vgn453 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt18&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn454 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt19&gt;html&lt;/font&gt;&lt;/span&gt;   &lt;span id=vgn455 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn456 style=COLOR:red&gt;xmlns&lt;/span&gt;&lt;span id=vgn457 style=COLOR:blue&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;   &lt;span id=vgn458 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn460&gt;   &lt;font id=q3bf19 size=2&gt;&lt;span id=vgn461 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt20&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn462 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt21&gt;head&lt;/font&gt;&lt;/span&gt;   &lt;span id=vgn463 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn464 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=vgn465 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn467&gt;   &lt;font id=q3bf20 size=2&gt;&lt;span id=vgn468 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn469&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=vgn470 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=vgn471 style=COLOR:maroon&gt;title&lt;/span&gt;&lt;span id=vgn472 style=COLOR:blue&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span id=vgn473 style=COLOR:maroon&gt;title&lt;/span&gt;&lt;span id=vgn474 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn476&gt;   &lt;font id=q3bf21 size=2&gt;&lt;span id=vgn477 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt22&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn478 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt23&gt;head&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn479 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt24&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn481&gt;   &lt;font id=q3bf22 size=2&gt;&lt;span id=vgn482 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt25&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn483 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt26&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn484 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt27&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=h4-q&gt; &lt;/p&gt; &lt;p class=MsoNormal id=h4-q6&gt;   &lt;font id=q3bf23 size=2&gt;&lt;span id=h4-q7 style='BACKGROUND:yellow none repeat scroll 0% 0%; FONT-FAMILY:"Courier New"'&gt;&lt;span id=h4-q8 style=BACKGROUND-COLOR:#ffffff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;font id=d0bt28&gt;&amp;lt;%&lt;/font&gt;&lt;/span&gt;&lt;span id=h4-q9 style='FONT-FAMILY:"Courier New"; COLOR:green'&gt;&lt;font id=d0bt29&gt;--   Código Javascript   --&lt;/font&gt;&lt;/span&gt;&lt;span id=h4-q10 style='BACKGROUND:yellow none repeat scroll 0% 0%; FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt30&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn486&gt;   &lt;font id=q3bf24 size=2&gt;&lt;span id=vgn487 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn488&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=vgn489 style=COLOR:blue&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span id=vgn490 style=COLOR:maroon&gt;form&lt;/span&gt;   &lt;span id=vgn491 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=vgn492 style=COLOR:blue&gt;="form1"&lt;/span&gt;   &lt;span id=vgn493 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=vgn494 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn496&gt;   &lt;font id=q3bf25 size=2&gt;&lt;span id=vgn497 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn498&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=vgn499 style=COLOR:blue&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span id=vgn4100 style=COLOR:maroon&gt;div&lt;/span&gt;&lt;span id=vgn4101 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4103&gt;   &lt;font id=q3bf26 size=2&gt;&lt;span id=vgn4104 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4105&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=vgn4106 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=vgn4107 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=vgn4108 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=vgn4109 style=COLOR:maroon&gt;ScriptManager&lt;/span&gt;   &lt;span id=vgn4110 style=COLOR:red&gt;ID&lt;/span&gt;&lt;span id=vgn4111 style=COLOR:blue&gt;="ScriptManager1"&lt;/span&gt;   &lt;span id=vgn4112 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=vgn4113 style=COLOR:blue&gt;="server"&lt;/span&gt;   &lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4115&gt;   &lt;font id=q3bf27 size=2&gt;&lt;span id=vgn4116 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4117&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=vgn4118 style=COLOR:red&gt;EnableScriptGlobalization&lt;/span&gt;&lt;span id=vgn4119 style=COLOR:blue&gt;="True"&lt;/span&gt;   &lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4121&gt;   &lt;font id=q3bf28 size=2&gt;&lt;span id=vgn4122 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4123&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=vgn4124 style=COLOR:red&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnableScriptLocalization&lt;/span&gt;&lt;span id=vgn4125 style=COLOR:blue&gt;="True"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4127&gt;   &lt;font id=q3bf29 size=2&gt;&lt;span id=vgn4128 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4129&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=vgn4130 style=COLOR:blue&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/span&gt;&lt;span id=vgn4131 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=vgn4132 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=vgn4133 style=COLOR:maroon&gt;ScriptManager&lt;/span&gt;&lt;span id=vgn4134 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4136&gt;   &lt;font id=q3bf30 size=2&gt;&lt;span id=vgn4137 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4138&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ESTA ES UNA MASTER   PAGE&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4144&gt;   &lt;font id=q3bf31 size=2&gt;&lt;span id=vgn4145 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4146&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&lt;/span&gt;&lt;span id=vgn4147 style=COLOR:blue&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/span&gt;&lt;span id=vgn4148 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=vgn4149 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=vgn4150 style=COLOR:maroon&gt;contentplaceholder&lt;/span&gt;   &lt;span id=vgn4151 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=vgn4152 style=COLOR:blue&gt;="ContentPlaceHolder1"&lt;/span&gt;   &lt;span id=vgn4153 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=vgn4154 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4156&gt;   &lt;font id=q3bf32 size=2&gt;&lt;span id=vgn4157 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4158&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;/span&gt;&lt;span id=vgn4159 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt31&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4160 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt32&gt;asp&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4161 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt33&gt;:&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4162 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt34&gt;contentplaceholder&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4163 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt35&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4169&gt;   &lt;font id=q3bf33 size=2&gt;&lt;span id=vgn4170 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4171&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=vgn4172 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=vgn4173 style=COLOR:maroon&gt;div&lt;/span&gt;&lt;span id=vgn4174 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=h4-q14&gt; &lt;/p&gt; &lt;p class=MsoNormal id=h4-q21&gt;   &lt;font id=q3bf34 size=2&gt;&lt;span id=h4-q22 style='BACKGROUND:yellow none repeat scroll 0% 0%; FONT-FAMILY:"Courier New"'&gt;&lt;span id=h4-q23 style=BACKGROUND-COLOR:#ffffff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;font id=d0bt36&gt;&amp;lt;%&lt;/font&gt;&lt;/span&gt;&lt;span id=h4-q24 style='FONT-FAMILY:"Courier New"; COLOR:green'&gt;&lt;font id=d0bt37&gt;--   ModalPopup   --&lt;/font&gt;&lt;/span&gt;&lt;span id=h4-q25 style='BACKGROUND:yellow none repeat scroll 0% 0%; FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt38&gt;%&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4176&gt;   &lt;font id=q3bf35 size=2&gt;&lt;span id=vgn4177 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=vgn4178&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=vgn4179 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=vgn4180 style=COLOR:maroon&gt;form&lt;/span&gt;&lt;span id=vgn4181 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4183&gt;   &lt;font id=q3bf36 size=2&gt;&lt;span id=vgn4184 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt39&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4185 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt40&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4186 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt41&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=vgn4188&gt;   &lt;font id=q3bf37 size=2&gt;&lt;span id=vgn4189 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt42&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4190 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=d0bt43&gt;html&lt;/font&gt;&lt;/span&gt;&lt;span id=vgn4191 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt44&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=y8j1&gt;   &lt;font id=q3bf38 size=2&gt;&lt;br id=y8j10&gt;   &lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=y8j11&gt;   &lt;font id=g6n. size=2&gt;&lt;span id=y8j12 style=FONT-FAMILY:Verdana&gt;Una vez que   tenemos nuestra MasterPage lo que debemos definir en esta es el ModalPopup. Un   ejemplo de ModalPopup sería:&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=g6n.0&gt;   &lt;font id=q3bf39 size=2&gt;&lt;br id=g6n.1&gt;   &lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=g6n.4&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f5&gt;   &lt;font id=q3bf40 size=2&gt;&lt;span id=nf.f6 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f8 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f9 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=nf.f10 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=nf.f11 style=COLOR:maroon&gt;LinkButton&lt;/span&gt;   &lt;span id=nf.f12 style=COLOR:red&gt;ID&lt;/span&gt;&lt;span id=nf.f13 style=COLOR:blue&gt;="LinkButton1"&lt;/span&gt;   &lt;span id=nf.f14 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=nf.f15 style=COLOR:blue&gt;="server"&lt;/span&gt;   &lt;span id=nf.f16 style=COLOR:red&gt;Visible&lt;/span&gt;&lt;span id=nf.f17 style=COLOR:blue&gt;="true"/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f19&gt;   &lt;font id=q3bf41 size=2&gt;&lt;span id=nf.f20 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f22 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f23 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=nf.f24 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=nf.f25 style=COLOR:maroon&gt;Panel&lt;/span&gt;   &lt;span id=nf.f26 style=COLOR:red&gt;ID&lt;/span&gt;&lt;span id=nf.f27 style=COLOR:blue&gt;="Panel"&lt;/span&gt;   &lt;span id=nf.f28 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=nf.f29 style=COLOR:blue&gt;="server"&lt;/span&gt;   &lt;span id=nf.f30 style=COLOR:red&gt;Style&lt;/span&gt;&lt;span id=nf.f31 style=COLOR:blue&gt;="display:   none"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f33&gt;   &lt;font id=q3bf42 size=2&gt;&lt;span id=nf.f34 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f35&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f36 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f37 style=COLOR:maroon&gt;table&lt;/span&gt;   &lt;span id=nf.f38 style=COLOR:red&gt;class&lt;/span&gt;&lt;span id=nf.f39 style=COLOR:blue&gt;="modalPopUp"&lt;/span&gt;   &lt;span id=nf.f40 style=COLOR:red&gt;border&lt;/span&gt;&lt;span id=nf.f41 style=COLOR:blue&gt;="0"&lt;/span&gt;   &lt;span id=nf.f42 style=COLOR:red&gt;cellpadding&lt;/span&gt;&lt;span id=nf.f43 style=COLOR:blue&gt;="0"&lt;/span&gt;   &lt;span id=nf.f44 style=COLOR:red&gt;cellspacing&lt;/span&gt;&lt;span id=nf.f45 style=COLOR:blue&gt;="0"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f47&gt;   &lt;font id=q3bf43 size=2&gt;&lt;span id=nf.f48 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f49&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f50 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f51 style=COLOR:maroon&gt;tr&lt;/span&gt;   &lt;span id=nf.f52 style=COLOR:red&gt;class&lt;/span&gt;&lt;span id=nf.f53 style=COLOR:blue&gt;="modalPopUpTopRow"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f55&gt;   &lt;font id=q3bf44 size=2&gt;&lt;span id=nf.f56 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f57&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f58 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f59 style=COLOR:maroon&gt;td&lt;/span&gt;   &lt;span id=nf.f60 style=COLOR:red&gt;valign&lt;/span&gt;&lt;span id=nf.f61 style=COLOR:blue&gt;="middle"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f63&gt;   &lt;font id=q3bf45 size=2&gt;&lt;span id=nf.f64 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt45&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;span id=nf.f66 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f67 style=COLOR:maroon&gt;img&lt;/span&gt;   &lt;span id=nf.f68 style=COLOR:red&gt;src&lt;/span&gt;&lt;span id=nf.f69 style=COLOR:blue&gt;="images/ajax-loader.gif"&lt;/span&gt;   &lt;span id=nf.f70 style=COLOR:red&gt;alt&lt;/span&gt;&lt;span id=nf.f71 style=COLOR:blue&gt;="procesando..."&lt;/span&gt;   &lt;span id=nf.f72 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f74&gt;   &lt;font id=q3bf46 size=2&gt;&lt;span id=nf.f75 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f76&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f77 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=nf.f78 style=COLOR:maroon&gt;td&lt;/span&gt;&lt;span id=nf.f79 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f107&gt;   &lt;font id=q3bf47 size=2&gt;&lt;span id=nf.f108 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f109&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f110 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=nf.f111 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=nf.f112 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f114&gt;   &lt;font id=q3bf48 size=2&gt;&lt;span id=nf.f115 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f116&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=nf.f117 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f118 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=nf.f119 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f121&gt;   &lt;font id=q3bf49 size=2&gt;&lt;span id=nf.f122 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f123&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f124 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f125 style=COLOR:maroon&gt;td&lt;/span&gt;   &lt;span id=nf.f126 style=COLOR:red&gt;align&lt;/span&gt;&lt;span id=nf.f127 style=COLOR:blue&gt;="center"&lt;/span&gt;&lt;span id=nf.f129 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f131&gt;   &lt;font id=q3bf50 size=2&gt;&lt;span id=nf.f132 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f133&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;font id=d0bt46&gt;Procesando...&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f135&gt;   &lt;font id=q3bf51 size=2&gt;&lt;span id=nf.f136 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f137&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&lt;/span&gt;&lt;span id=nf.f138 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=nf.f139 style=COLOR:maroon&gt;td&lt;/span&gt;&lt;span id=nf.f140 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f149&gt;   &lt;font id=q3bf52 size=2&gt;&lt;span id=nf.f143 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f144&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &amp;nbsp;&lt;/span&gt;&lt;span id=nf.f145 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=nf.f146 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=nf.f147 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f157&gt;   &lt;font id=q3bf53 size=2&gt;&lt;span id=qoc9 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=qoc90&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f152 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=nf.f153 style=COLOR:maroon&gt;table&lt;/span&gt;&lt;span id=nf.f154 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;   &lt;/span&gt;&lt;span id=nf.f158 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f159&gt;&lt;br id=qoc91&gt;   &lt;/span&gt;&lt;span id=nf.f160 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=nf.f161 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=nf.f162 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=nf.f163 style=COLOR:maroon&gt;Panel&lt;/span&gt;&lt;span id=nf.f164 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f166&gt;   &lt;font id=q3bf54 size=2&gt;&lt;span id=nf.f167 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f169 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=nf.f170 style=COLOR:maroon&gt;cc1&lt;/span&gt;&lt;span id=nf.f171 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=nf.f172 style=COLOR:maroon&gt;ModalPopupExtender&lt;/span&gt;   &lt;span id=nf.f173 style=COLOR:red&gt;ID&lt;/span&gt;&lt;span id=nf.f174 style=COLOR:blue&gt;="ModalPopupExtender"&lt;/span&gt;   &lt;span id=nf.f175 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=nf.f176 style=COLOR:blue&gt;="server"&lt;/span&gt;   &lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f178&gt;   &lt;font id=q3bf55 size=2&gt;&lt;span id=nf.f179 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt47&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;span id=nf.f181 style=COLOR:red&gt;BehaviorID&lt;/span&gt;&lt;span id=nf.f182 style=COLOR:blue&gt;="programmaticModalPopupBehavior"&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f184&gt;   &lt;font id=q3bf56 size=2&gt;&lt;span id=nf.f185 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;font id=d0bt48&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;span id=nf.f187 style=COLOR:red&gt;TargetControlID&lt;/span&gt;&lt;span id=nf.f188 style=COLOR:blue&gt;="LinkButton1"&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f190&gt;   &lt;font id=q3bf57 size=2&gt;&lt;span id=nf.f191 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f192&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=nf.f193 style=COLOR:red&gt;PopupControlID&lt;/span&gt;&lt;span id=nf.f194 style=COLOR:blue&gt;="Panel"&lt;/span&gt;   &lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=nf.f196&gt;   &lt;font id=q3bf58 size=2&gt;&lt;span id=nf.f197 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=nf.f198&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span id=nf.f199 style='FONT-FAMILY:"Courier New"; COLOR:red'&gt;&lt;font id=d0bt49&gt;BackgroundCssClass&lt;/font&gt;&lt;/span&gt;&lt;span id=nf.f200 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt50&gt;="modalBackground"/&lt;/font&gt;&lt;/span&gt;&lt;span id=tvhz style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=d0bt51&gt;&amp;gt;&lt;br id=x2yx&gt;   &lt;br id=x2yx0&gt;   &lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=tvhz0&gt;   &lt;font id=x2yx1 size=2&gt;&lt;span id=x2yx2 style=FONT-FAMILY:Verdana&gt;Basicamente es   ModalPopup tiene un gif animado y una leyenda de "Procesando...". O sea que   cuando algún control haga una petición de postback parcial aparecerá este   ModalPopup indicando que debe esperar a que termine la actualización de la   página evitando que el usuario pueda hacer click en cualquiera de los   controles.&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=h61x&gt;   &lt;font id=q3bf59 size=2&gt;&lt;br id=h61x0&gt;   &lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=h61x3&gt;   &lt;font id=h61x4 size=2&gt;&lt;span id=h61x5 style=FONT-FAMILY:Verdana&gt;Lo que falta   ahora es el código Javascript que hacer aparecer y desaparecer el ModalPopup   cada vez que comienza y finaliza un request.&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=e6qy&gt;   &lt;font id=e6qy0 size=2&gt;&lt;span id=e6qy1 style=FONT-FAMILY:Verdana&gt;Para esto   haremos uso del objeto PageRequestManager y le añadiremos 2 funciones una para   el evento beginRequest y otro para el evento endRequest.&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=e6qy2&gt;   &lt;font id=e6qy3 size=2&gt;&lt;span id=e6qy4 style=FONT-FAMILY:Verdana&gt;Estas funciones   lo que hacen es buscar el BehaviorID del ModalPopup y una vez que obtenemos la   referencia al ModalPopup llamar al método hide() o show() del ModalPopUp.&lt;br id=e6qy5&gt;   &lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf61&gt;   &lt;font id=q3bf62 size=2&gt;&lt;br id=q3bf63&gt;   &lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf66&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf73&gt;   &lt;font id=q3bf74 size=2&gt;&lt;span id=q3bf75 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=l:4h167 size=2&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=q3bf76 lang=EN-GB style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=l:4h168 size=2&gt;script&lt;/font&gt;&lt;/span&gt;   &lt;span id=q3bf77 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf78 style=COLOR:red&gt;type&lt;/span&gt;&lt;span id=q3bf79 style=COLOR:blue&gt;="text/javascript"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf81&gt;   &lt;font id=q3bf82 size=2&gt;&lt;span id=q3bf83 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf84&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h172 size=2&gt;Sys.WebForms.PageRequestManager.getInstance().add_endRequest(&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf86&gt;   &lt;font id=q3bf87 size=2&gt;&lt;span id=q3bf88 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf89&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q3bf90 style=COLOR:blue&gt;function&lt;/span&gt;&lt;font id=l:4h174 size=2&gt;   (sender, arg){&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf92&gt;   &lt;font id=q3bf93 size=2&gt;&lt;span id=q3bf94 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf95&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q3bf96 style=COLOR:blue&gt;var&lt;/span&gt;&lt;font id=l:4h178 size=2&gt;   modalPopupBehavior =   $find(&lt;/font&gt;&lt;span id=q3bf97 style=COLOR:maroon&gt;'programmaticModalPopupBehavior'&lt;/span&gt;&lt;font id=l:4h182 size=2&gt;);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf99&gt;   &lt;font id=q3bf100 size=2&gt;&lt;span id=q3bf101 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf102&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h183 size=2&gt;modalPopupBehavior.hide();&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf104&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf108&gt;   &lt;font id=q3bf109 size=2&gt;&lt;span id=q3bf110 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf111&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h186 size=2&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf113&gt;   &lt;font id=q3bf114 size=2&gt;&lt;span id=q3bf115 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf116&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h187 size=2&gt;);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf118&gt;   &lt;font id=q3bf119 size=2&gt;&lt;span id=q3bf120 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf121&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf123&gt;   &lt;font id=q3bf124 size=2&gt;&lt;span id=q3bf125 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf126&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h188 size=2&gt;Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf128&gt;   &lt;font id=q3bf129 size=2&gt;&lt;span id=q3bf130 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf131&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q3bf132 style=COLOR:blue&gt;function&lt;/span&gt;&lt;font id=l:4h190 size=2&gt;   (sender, args) { &lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf134&gt;   &lt;font id=q3bf135 size=2&gt;&lt;span id=q3bf136 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf137&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q3bf138 style=COLOR:blue&gt;var&lt;/span&gt;&lt;font id=l:4h194 size=2&gt;   modalPopupBehavior =   $find(&lt;/font&gt;&lt;span id=q3bf139 style=COLOR:maroon&gt;'programmaticModalPopupBehavior'&lt;/span&gt;&lt;font id=l:4h198 size=2&gt;);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf141&gt;   &lt;font id=q3bf142 size=2&gt;&lt;span id=q3bf143 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf144&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h199 size=2&gt;modalPopupBehavior.show();&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf146&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf150&gt;   &lt;font id=q3bf151 size=2&gt;&lt;span id=q3bf152 lang=EN-GB style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf153&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;/span&gt;&lt;span id=q3bf154 style='FONT-FAMILY:"Courier New"'&gt;&lt;font id=l:4h202 size=2&gt;}&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf156&gt;   &lt;font id=q3bf157 size=2&gt;&lt;span id=q3bf158 style='FONT-FAMILY:"Courier New"'&gt;&lt;span id=q3bf159&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font id=l:4h203 size=2&gt;); &lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q3bf161&gt;   &lt;font id=q3bf162 size=2&gt;&lt;span id=q3bf163 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=l:4h204 size=2&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=q3bf164 style='FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font id=l:4h205 size=2&gt;script&lt;/font&gt;&lt;/span&gt;&lt;span id=q3bf165 style='FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font id=l:4h207 size=2&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-3043506834853775696?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/toxMaTXFUT4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/toxMaTXFUT4/ajax-emular-el-updateprogress-con_6789.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>2</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/07/ajax-emular-el-updateprogress-con_6789.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-2840283288673117182</guid><pubDate>Thu, 12 Jun 2008 15:39:00 +0000</pubDate><atom:updated>2008-07-07T16:35:13.772-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/06/misc-gmail-labs.html"&gt;[MISC] GMAIL Labs...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En esta entrega quiero contarles sobre GMAIL Labs. Soy usuario de GMAIL desde el 2004, época en la cual había que conseguir una invitación para poder tener tu cuenta. En estos 4 años de uso de GMAIL, las funcionalidades de mi cuenta han ido mejorando increiblemente, cada día puedo hacer mas cosas con mi GMAIL y lo bueno de esto es que unos de&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; los primeros en recibir esas nueva mejoras. Qué es eso del primero??? Las nuevas funcionalidades de GMAIL no son incorporadas a las cuentas de todos los usuarios a la vez, sino que lo van haciendo por lotes, primeros algunos usuarios y despues otros.&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; La última funcinalidad de mi GMAIL es GMAIL Labs.&lt;br /&gt;&lt;br /&gt;GMAIL Labs se ve algo así:&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;div face="verdana" style="text-align: center;"&gt;&lt;img src="http://lh6.ggpht.com/ing.juanpablo/SFFFmor2iQI/AAAAAAAAAYc/Ag9L3POI4FI/s800/GMAIL-Labs-1.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;GMAIL Labs es un conjunto de nuevas funciones que están en beta y pueden ser habilitadas o no desde Settings.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center; font-family: verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://lh4.ggpht.com/ing.juanpablo/SFFGM1sHBjI/AAAAAAAAAYk/nTDP9b3e8sg/s800/GMAIL-Labs-2.jpg" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Las funciones que tengo disponibles hasta ahora son:&lt;br /&gt;&lt;/span&gt;&lt;ol  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Quick Links&lt;/span&gt;, &lt;/span&gt;dds a box to the left column that gives you 1-click access to any bookmarkable URL in Gmail. You can use it for saving frequent searches, important individual messages, and more.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Superstars&lt;/span&gt;, &lt;/span&gt;adds additional star icons. After enabling this feature, you can choose which icons you wish to use in the "General" Settings page.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Pictures in chat&lt;/span&gt;, &lt;/span&gt;see your friends' profile pictures when you chat with them.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Fixed width font&lt;/span&gt;, &lt;/span&gt;adds an option to the reply dropdown menu that lets you view a message in fixed width font.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Custom keyboard shortcuts&lt;/span&gt;, &lt;/span&gt;lets you customize keyboard shortcut mappings. Adds a new Settings tab from which you can remap keys to various actions.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Mouse gestures&lt;/span&gt;, &lt;/span&gt;use your mouse to navigate with gestures. Hold right-click and move the mouse left to go to a previous conversation, move it right to go to the next conversation, and move up to go back to the inbox view. Works best on Windows.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Signature tweaks&lt;/span&gt;, &lt;/span&gt;places your signature before the quoted text in a reply, and removes the "--" line that appears before signatures. Can't use this and the "Random signature" Labs feature at the same time.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Random signature&lt;/span&gt;, &lt;/span&gt;rotates among random quotations for your email signature. Can't use this and the "Signature tweaks" Labs feature at the same time.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Custom date formats&lt;/span&gt;, &lt;/span&gt;adds options to the general settings page allowing the date and time format to be changed independent of language. For example, you can use a 24-hour clock (14:57) or show dates with the day first (31/12/07).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Muzzle&lt;/span&gt;, &lt;/span&gt;conserves screen real estate by hiding your friends' status messages.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Old Snakey&lt;/span&gt;, &lt;/span&gt;kick it old school with Old Snakey! Enable keyboard shortcuts and hit '&amp;amp;' from the main page to play a game of snake.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Email Addict&lt;/span&gt;, &lt;/span&gt;lets you take a break from email and chat by blocking the screen for fifteen minutes and making you invisible in chat.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="jwjW1c"&gt;&lt;span style="font-weight: bold;"&gt;Hide Unread Counts&lt;/span&gt;, &lt;/span&gt;hides the unread counts for inbox, labels, etc.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Personalmente no tengo habilitadas todas estas funciones, solo las que creo que me son más útiles como ser: &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;" class="jwjW1c"  &gt;Superstars, &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;" class="jwjW1c"  &gt;Pictures in chat y &lt;/span&gt;&lt;span class="jwjW1c"  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Signature tweaks.&lt;br /&gt;&lt;br /&gt;Otro punto importante es que estas nuevas funciones estan en BETA y pueden hacer que tu GMAIL se tilde, clave, o como quieras llamarlo, por lo cual hay una forma de entrar a GMAIL pero con GMAIL Labs deshabilitado. En la siguiente imagen vemos algunas consideraciones que hace GMAIL sobre su GMAIL Labs y la forma para deshabilitarlo en caso que falle.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://lh4.ggpht.com/ing.juanpablo/SFFIgrQgnKI/AAAAAAAAAYs/DkmHQbCeiXY/s800/GMAIL-Labs-3.jpg" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-2840283288673117182?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/53Oo16dFrbU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/53Oo16dFrbU/misc-gmail-labs.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/ing.juanpablo/SFFFmor2iQI/AAAAAAAAAYc/Ag9L3POI4FI/s72-c/GMAIL-Labs-1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/06/misc-gmail-labs.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-5404955996186890994</guid><pubDate>Wed, 04 Jun 2008 23:26:00 +0000</pubDate><atom:updated>2008-06-04T21:06:00.423-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/06/misc-noticias-mias-y-yapas.html"&gt;&lt;span style="font-family:verdana;"&gt;[MISC] Noticias mias y yapas...&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hola, como están? Yo muy bien, como les comenté antes rendí el examen 70-536. Ese día estaba contento, pero hoy recibí otra sorpresa, un mail donde me dan mi MCP ID y también acceso a sitio para todos los que somos Microsoft Certified Professional.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Les cuento, en ese sitio los MCP podemos ver nuestro historial, crear logos con las certificaciones obtenidas, comprar cosas en el MCPeShop, suscribirmos al MCP Flash y acceder a numerosos recursos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Por ahora solo soy MCP, todavía no soy MCTS que es mi objetivo asi que el único logo que estoy habilitado a usar es este:&lt;/span&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0SUJmvhOBfg/SEcqYijoFGI/AAAAAAAAAYU/-edMVLQhwmk/s1600-h/MCP%28rgb%29.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_0SUJmvhOBfg/SEcqYijoFGI/AAAAAAAAAYU/-edMVLQhwmk/s400/MCP%28rgb%29.png" alt="" id="BLOGGER_PHOTO_ID_5208178095158727778" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;De todas formas estoy mas que contento ;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Ahora si les dejo unos videitos muy buenos de nuevas cosas que está haciendo Microsoft.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  align="center" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rP5y7yp06n0&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/rP5y7yp06n0&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  align="center" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Id43juZ3_o0&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/Id43juZ3_o0&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  align="center" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WazA77xcf0A&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/WazA77xcf0A&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  align="center" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Zxk_WywMTzc&amp;amp;hl=en"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/Zxk_WywMTzc&amp;amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-5404955996186890994?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/mSitMXGj9aE" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/mSitMXGj9aE/misc-noticias-mias-y-yapas.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_0SUJmvhOBfg/SEcqYijoFGI/AAAAAAAAAYU/-edMVLQhwmk/s72-c/MCP%28rgb%29.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/06/misc-noticias-mias-y-yapas.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-5156868252935010199</guid><pubDate>Wed, 28 May 2008 19:23:00 +0000</pubDate><atom:updated>2008-05-28T16:39:04.751-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Células.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><title /><description>&lt;span style="font-size:85%;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/05/net-clulas_28.html"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family:verdana;"&gt;[Células.NET] Células.NET Córdoba en Facebook&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="font-family: verdana;" href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; esta de moda, no hay con que darle. Es divertido, está lleno de gente, miles de juegos para divertirse entre amigos y no nos podemos quedar afuera. Los programadores también tenemos que divertirnos, jaja ni yo me lo creo diciendo esto, pero bueno, hay que cambiar algunas cosas. Es por esto que creé un grupo en &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; llamando &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.facebook.com/group.php?gid=32944927424"&gt;Células.NET Córdoba&lt;/a&gt;&lt;span style="font-family:verdana;"&gt; para que, aparte de capacitarnos en tecnologías Microsoft, también nos divirtamos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Acá les dejo el logo del grupo:&lt;/span&gt;&lt;a style="font-family: verdana;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0SUJmvhOBfg/SD2zODZYjYI/AAAAAAAAAYM/hYR4KTx_Doo/s1600-h/Logo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_0SUJmvhOBfg/SD2zODZYjYI/AAAAAAAAAYM/hYR4KTx_Doo/s400/Logo.jpg" alt="" id="BLOGGER_PHOTO_ID_5205513798321474946" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-5156868252935010199?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/eENK7tZiNnQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/eENK7tZiNnQ/net-clulas_28.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_0SUJmvhOBfg/SD2zODZYjYI/AAAAAAAAAYM/hYR4KTx_Doo/s72-c/Logo.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/05/net-clulas_28.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-1355574491877933505</guid><pubDate>Wed, 28 May 2008 18:21:00 +0000</pubDate><atom:updated>2008-05-28T16:22:52.697-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">NET2.0</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/05/blog-post.html"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:verdana;"&gt;[NET 2.0] Un paso mas cerca...&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Es es un post de felicitación :), felicitación a mi mismo ;) por haber rendido exitosamente el examen: &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.microsoft.com/learning/en/us/exams/70-536.mspx"&gt;Exam 70–536: TS: Microsoft .NET Framework 2.0 - Application Development Foundation&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;lo que me coloca a un paso de obtener la certificación &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.microsoft.com/learning/mcp/mcts/webapps/default.mspx"&gt;MCTS: .NET Framework 2.0 Web Applications&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Aprovecho el post para explicar como se obtiene esta certificación. MCTS son las siglas de Microsoft Certified Technology Specialist y se puede ser especialista en algunas de estas 3 tecnologías:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Web Applications&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Windows Applications&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;Distributed Applications&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Para obtener cualquiera de estas 3 certificaciones hay que rendir &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:verdana;font-size:85%;"  &gt;2 exámenes&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;. El primero, &lt;/span&gt;&lt;a style="font-family: verdana;" href="http://www.microsoft.com/learning/en/us/exams/70-536.mspx"&gt;Exam 70–536&lt;/a&gt;&lt;a style="font-family: verdana;" href="http://www.microsoft.com/learning/en/us/exams/70-536.mspx"&gt;: TS: Microsoft .NET Framework 2.0 - Application Development Foundation&lt;/a&gt;&lt;span style="font-family:verdana;"&gt;, sobre el Framework 2.0. Este examen te habilita a rendir cualquiera de los otros 3, es como el básico, pero de básico no tiene nada, por lo menos es mi opinión. Luego se puede optar por:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol  style="font-family:verdana;"&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-528.mspx"&gt;Exam 70–528: TS: Microsoft .NET Framework 2.0 - Web-Based Client Development&lt;/a&gt;, esta es la que estoy buscando yo.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-526.mspx"&gt;Exam 70-526: TS: Microsoft .NET Framework 2&lt;/a&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-526.mspx"&gt;.0 – Windows-Based Client Development&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.microsoft.com/learning/en/us/exams/70-529.mspx"&gt;Exam 70–529: TS: Microsoft .NET Framework 2.0 – Distributed Application Development&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Una vez aprobados los 2 exámenes obtenes la certificación. Fácil, no? jajaja&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Les dejo link a una imagen mas explicativa del plan que estoy siguiendo yo:&lt;/span&gt;&lt;a href="http://www.mediafire.com/imgbnc.php/6b720bd0175d99e42c8ad79a375058e86g.jpg"&gt;&lt;span class="attribute-value"&gt;&lt;br /&gt;http://www.mediafire.com/imgbnc.php/6b720bd0175d99e42c8ad79a375058e86g.jpg&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-1355574491877933505?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/x3thCpyqzqQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/x3thCpyqzqQ/blog-post.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/05/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-3317765130016594923</guid><pubDate>Thu, 15 May 2008 15:50:00 +0000</pubDate><atom:updated>2008-05-15T13:06:46.273-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Conferencias</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;a href="http://ingjuanpablo.blogspot.com/2008/05/evento-tcnico-en-crdoba-amigos-en-esta.html"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;[Conferencias] EVENTO TÉCNICO EN CÓRDOBA&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="x1u5"  style="font-size:85%;"&gt;&lt;span id="qzjj" lang="es-AR"&gt;por Ing. Juan Pablo Ibañez&lt;br /&gt; &lt;/span&gt;&lt;/span&gt;&lt;span id="a2cd"   style="font-size:85%;color:#000080;"&gt;&lt;u id="qwpz"&gt;&lt;a href="http://ing.juanpablo.googlepages.com/" id="lfm6"&gt;&lt;span id="f80q" lang="es-AR"&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;Amigos, en esta oportunidad quiero contarles que por suerte y por fin se realiza en Córdoba un evento del MUG.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Aquí les dejo los temas, horarios y link para registrarse.&lt;br /&gt;&lt;br /&gt;Particularmente creo que va a estar bueno ya que los oradores son muy buenos. Eugenio creo que la mayoría lo debe conocer es un grande y Matías Iacono, colega mío en la UTN tambíen es un groso.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);font-size:100%;" &gt;&lt;span style="font-family:verdana;"&gt;Córdoba - Todo Microsoft 2008&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);font-size:100%;" &gt;&lt;span style="font-family:verdana;"&gt;Martes, 20 de Mayo de 2008&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);font-size:100%;" &gt;&lt;span style="font-family:verdana;"&gt;Lugar: Auditorio de Radio Nacional - General Paz Esq Santa Rosa, Córdoba Capital&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Jornada de actualización profesional con la presentación de las novedades 2008 en tecnología Microsoft. Por primera vez juntos tres de los mas reconocidos profesionales cordobeses.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Evento gratuito. Vacantes limitadas.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;16:15 hs&lt;/span&gt; - Acreditación&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;16:45 hs&lt;/span&gt; - Inicio de las Conferencias&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0); font-weight: bold;font-family:verdana;" &gt;&lt;br /&gt;La Seguridad en Windows Server 2008 - Enrique Dutra (MVP)&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Conoce el nuevo firewall de Windows 2008.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Redes Seguras. Conexion segura mediante NAP.&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Bitlocker&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 153, 0);font-family:verdana;" &gt;Introducción a SQL Server 2008 - Matías Iácono (MVP)&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Evolución de las versiones de SQL Server&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Entorno de administración de SQL Server&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Conceptos de gestión de SQL Server&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold; font-style: italic;font-family:verdana;" &gt;&lt;br /&gt;Visual Studio 2008 - Eugenio Serrano (MVP)&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Creando la siguiente generación de aplicaiones Web con mayor productividad&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;- Diseñador HTML y CSS, AJAX, WLS, JS Debugging e INtellisense&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;22:00&lt;/span&gt; - Fin del evento - Sorteos&lt;br /&gt;&lt;br /&gt;Para registrarse, este es el link:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://http//www.mug.org.ar/registracion.aspx?idevento=3004"&gt;&lt;span style="font-family:verdana;"&gt;http://www.mug.org.ar/registracion.aspx?idevento=3004&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-3317765130016594923?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/glhiwJc2AF8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/glhiwJc2AF8/evento-tcnico-en-crdoba-amigos-en-esta.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/05/evento-tcnico-en-crdoba-amigos-en-esta.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-4439054168269728492</guid><pubDate>Fri, 09 May 2008 15:23:00 +0000</pubDate><atom:updated>2008-05-09T12:25:28.412-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ajax</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title>[AJAX] Carga dinámica de páginas ASPX con AJAX Enabled WebService</title><description>&lt;font id=x1u5 size=2&gt;&lt;span id=qzjj lang=es-AR&gt;por Ing. Juan Pablo Ibañez&lt;br id=nhc2&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color=#000080 id=a2cd size=2&gt;&lt;u id=qwpz&gt;&lt;a href=http://ing.juanpablo.googlepages.com/ id=lfm6&gt;&lt;span id=f80q lang=es-AR&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;&lt;br id=wo1c0&gt; &lt;br id=wo1c1&gt; &lt;/u&gt;&lt;/font&gt;Con la aparición de AJAX, ahora podemos cargar ciertas partes de una página ASPX sin tener que recargar toda la página. El problema surge cuando en una página queremos incluir diferentes funcionalidades que habitualmente están en páginas separadas. Si intentamos incluir todas las funcionalidades en nuestra página e ir cargándolas mediante AJAX, nuestra página comienza a hacerse demasiado grande para poder albergar todo el código que permite cambiar las partes y mostrar las distintas funcionalidades sin recargar toda la página. Hay aplicaciones grandes que requieren utilizar otro enfoque, como ser cargar páginas ASPX dentro de páginas ASPX pero sin hacer PostBack de la página contenedora. La técnica explicada en este artículo nos permite tener nuestra aplicación dividida en todas las páginas ASPX que necesitemos, y cargarlas dentro de una página contenedora usando AJAX, lo cual nos permite dividir mejor la funcionalidad, distintos equipos pueden trabajar independientemente en cada página ASPX, nuestra aplicaciones está mas desacoplada, prolija y demás beneficios.&lt;br id=g:dl&gt; &lt;font color=#000080 id=a2cd size=2&gt;&lt;u id=qwpz&gt;&lt;br id=y7or0&gt; &lt;/u&gt;&lt;/font&gt;En el siguiente ejemplo voy a mostrar como cargar diferentes ASPX dentro de otra página ASPX haciendo uso de AJAX WebServices. La imagen [Imagen1] que vemos a continuación es un esquema de lo que se pretende hacer.&lt;br id=zkma0&gt; &lt;br id=zkma1&gt; &lt;div id=saaf style="PADDING:1em 0pt; TEXT-ALIGN:left"&gt;   &lt;img id=zjeh0 src=http://docs.google.com/File?id=dcf67f7q_277df723pcg_b style="WIDTH:433px; HEIGHT:335px"&gt;&lt;br id=zjeh1&gt;   [Imagen1]&lt;br id=zjeh2&gt;   &lt;br id=zjeh3&gt;   La página contenedora tiene 1 div donde se insertará mediante AJAX el HTML de   las páginas ASPX que se quieran cargar dinámicamente dentro de la página   contenedora. Si nuestras ASPX que queremos cargar tiene elementos que hacen   PostBack, debemos cargarlas dentro de un iframe, de lo contrario, por ejemplo,   al presionar un Button en la página que se cargo dentro de la contenedora, se   hará un PostBack que recargará también nuestra contenedora y la idea es que la   contenedora nunca se recargue completamente.&lt;br id=xiuh0&gt;   &lt;br id=f5fv0&gt;   Nuestra solución entonces deberá tener al menos los componentes que se   muestran en la siguiente imagen [Imagen2].&lt;br id=k-8s0&gt;   &lt;img id=e:j3 src=http://docs.google.com/File?id=dcf67f7q_280hgp29zf7_b style="MARGIN:1em 1em 0pt 0pt; WIDTH:143px; HEIGHT:227px; FLOAT:left"&gt;&lt;br id=xiuh2&gt;   &lt;div id=c7c4 style="PADDING:1em 0pt; TEXT-ALIGN:left"&gt;     Como vemos en esta imagen del Explorador de Soluciones, tenemos:&lt;br id=mgj.0&gt;     &lt;ol id=mgj.1&gt;       &lt;ol id=mgj.2&gt;         &lt;ol id=mgj.3&gt;           &lt;ol id=mgj.4&gt;             &lt;ol id=mgj.5&gt;               &lt;li id=mgj.6&gt;                 Default.aspx, nuestra página contenedora.               &lt;/li&gt;               &lt;li id=mgj.6&gt;                 Default.js, código Javascript para hacer la llamada al                 WebService y cargar el contenido que este devuelve en nuestro                 div.               &lt;/li&gt;               &lt;li id=mgj.6&gt;                 Page1.aspx, una de las páginas que queremos cargar dentro de                 Default.aspx               &lt;/li&gt;               &lt;li id=mgj.6&gt;                 Page2.aspx, otra de las páginas que queremos cargar dentro de                 Default.aspx               &lt;/li&gt;               &lt;li id=mgj.6&gt;                 PageLoader.asmx, el WebService que devuelve el HTML que vamos a                 cargar dentro del DIV de Default.aspx               &lt;/li&gt;               &lt;li id=mgj.6&gt;                 web.config, configuración para hacer uso de las librerías de                 AJAX ASP.NET y configuración para usar AJAX ASP.NET WebServices.               &lt;/li&gt;               &lt;li id=mgj.6&gt;                 ajax-loader.gif, imágenes que mostramos mientras se cargan las                 páginas interiores.&lt;br id=ondv0&gt;               &lt;/li&gt;             &lt;/ol&gt;           &lt;/ol&gt;         &lt;/ol&gt;       &lt;/ol&gt;     &lt;/ol&gt;   &lt;/div&gt;   &lt;br id=zjeh4&gt; &lt;/div&gt; &lt;br id=twu20&gt; &lt;br id=pf5b&gt; &lt;font color=#000080 id=a2cd size=2&gt;&lt;u id=qwpz&gt;&lt;br id=ondv1&gt; &lt;/u&gt;&lt;/font&gt;[Image2]&lt;br id=ondv2&gt; &lt;br id=ondv3&gt; La idea es que nuestra página Default.aspx tenga un DIV donde cargar el HTML de las páginas que queremos cargar, haga una llamada a un AJAX Enabled WebService y mientras se carga la página interior muestre un Loading...&lt;br id=zk730&gt; &lt;br id=zk731&gt; La estructura de nuestra página Default.aspx sería algo así:&lt;br id=zk732&gt; &lt;p class=MsoNormal id=sy2m0 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m1 style=' FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=sy2m2 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font size=2&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span id=sy2m3 style=' FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m5 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m6 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m7&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m8 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m9 style=COLOR:maroon&gt;form&lt;/span&gt;   &lt;span id=sy2m10 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=sy2m11 style=COLOR:blue&gt;="form1"&lt;/span&gt;   &lt;span id=sy2m12 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=sy2m13 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m15 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m16 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m17&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m18 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m19 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=sy2m20 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=sy2m21 style=COLOR:maroon&gt;ScriptManager&lt;/span&gt;   &lt;span id=sy2m22 style=COLOR:red&gt;ID&lt;/span&gt;&lt;span id=sy2m23 style=COLOR:blue&gt;="ScriptManager1"&lt;/span&gt;   &lt;span id=sy2m24 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=sy2m25 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m27 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m28 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m29&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m30 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m31 style=COLOR:maroon&gt;Scripts&lt;/span&gt;&lt;span id=sy2m32 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m34 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m35 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m36&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m37 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m38 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=sy2m39 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=sy2m40 style=COLOR:maroon&gt;ScriptReference&lt;/span&gt;   &lt;span id=sy2m41 style=COLOR:red&gt;Path&lt;/span&gt;&lt;span id=sy2m42 style=COLOR:blue&gt;="Default.js"&lt;/span&gt;   &lt;span id=sy2m43 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m45 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m46 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m47&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m48 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m49 style=COLOR:maroon&gt;Scripts&lt;/span&gt;&lt;span id=sy2m50 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m52 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m53 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m54&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m55 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m56 style=COLOR:maroon&gt;Services&lt;/span&gt;&lt;span id=sy2m57 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m59 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m60 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m61&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m62 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m63 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=sy2m64 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=sy2m65 style=COLOR:maroon&gt;ServiceReference&lt;/span&gt;   &lt;span id=sy2m66 style=COLOR:red&gt;Path&lt;/span&gt;&lt;span id=sy2m67 style=COLOR:blue&gt;="PageLoader.asmx"&lt;/span&gt;   &lt;span id=sy2m68 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m71 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m72&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m73 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m74 style=COLOR:maroon&gt;Services&lt;/span&gt;&lt;span id=sy2m75 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m77 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m78 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m79&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m80 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m81 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=sy2m82 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=sy2m83 style=COLOR:maroon&gt;ScriptManager&lt;/span&gt;&lt;span id=sy2m84 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m86 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m87 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m88&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m89 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m90 style=COLOR:maroon&gt;div&lt;/span&gt;   &lt;span id=sy2m91 style=COLOR:red&gt;align&lt;/span&gt;&lt;span id=sy2m92 style=COLOR:blue&gt;="center"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m94 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m95 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m96&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m97 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m98 style=COLOR:maroon&gt;h2&lt;/span&gt;&lt;span id=sy2m99 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;font size=2&gt;Página   Contenedora&lt;/font&gt;&lt;span id=sy2m100 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m101 style=COLOR:maroon&gt;h2&lt;/span&gt;&lt;span id=sy2m102 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m104 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m105 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m106&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m107 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m108 style=COLOR:maroon&gt;input&lt;/span&gt;   &lt;span id=sy2m109 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=sy2m110 style=COLOR:blue&gt;="btnLoadPage1"&lt;/span&gt;   &lt;span id=sy2m111 style=COLOR:red&gt;type&lt;/span&gt;&lt;span id=sy2m112 style=COLOR:blue&gt;="button"&lt;/span&gt;   &lt;span id=sy2m113 style=COLOR:red&gt;value&lt;/span&gt;&lt;span id=sy2m114 style=COLOR:blue&gt;="Cargar   Página 1"&lt;/span&gt;   &lt;span id=sy2m115 style=COLOR:red&gt;onclick&lt;/span&gt;&lt;span id=sy2m116 style=COLOR:blue&gt;="return   btnLoadPage1_onclick()"&lt;/span&gt;   &lt;span id=sy2m117 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m119 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m120 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m121&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m122 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m123 style=COLOR:maroon&gt;input&lt;/span&gt;   &lt;span id=sy2m124 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=sy2m125 style=COLOR:blue&gt;="btnLoadPage2"&lt;/span&gt;   &lt;span id=sy2m126 style=COLOR:red&gt;type&lt;/span&gt;&lt;span id=sy2m127 style=COLOR:blue&gt;="button"&lt;/span&gt;   &lt;span id=sy2m128 style=COLOR:red&gt;value&lt;/span&gt;&lt;span id=sy2m129 style=COLOR:blue&gt;="Cargar   Página 2"&lt;/span&gt;   &lt;span id=sy2m130 style=COLOR:red&gt;onclick&lt;/span&gt;&lt;span id=sy2m131 style=COLOR:blue&gt;="return   btnLoadPage2_onclick()"&lt;/span&gt;   &lt;span id=sy2m132 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m134 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m135 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m136&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m137 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m138 style=COLOR:maroon&gt;br&lt;/span&gt;   &lt;span id=sy2m139 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m141 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m142 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m143&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m144 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m145 style=COLOR:maroon&gt;hr&lt;/span&gt;   &lt;span id=sy2m146 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m148 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m149 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m150&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m151 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m152 style=COLOR:maroon&gt;br&lt;/span&gt;   &lt;span id=sy2m153 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m155 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m156 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m157&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m158 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m159 style=COLOR:maroon&gt;div&lt;/span&gt;   &lt;span id=sy2m160 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=sy2m161 style=COLOR:blue&gt;="Loading"&lt;/span&gt;   &lt;span id=sy2m162 style=COLOR:red&gt;style&lt;/span&gt;&lt;span id=sy2m163 style=COLOR:blue&gt;="display:   none"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m165 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m166 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m167&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m168 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m169 style=COLOR:maroon&gt;table&lt;/span&gt;   &lt;span id=sy2m170 style=COLOR:red&gt;style&lt;/span&gt;&lt;span id=sy2m171 style=COLOR:blue&gt;="width:   200px; height: 200px"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m173 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m174 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m175&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m176 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m177 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=sy2m178 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m180 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m181 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m182&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m183 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m184 style=COLOR:maroon&gt;td&lt;/span&gt;   &lt;span id=sy2m185 style=COLOR:red&gt;align&lt;/span&gt;&lt;span id=sy2m186 style=COLOR:blue&gt;="center"&lt;/span&gt;   &lt;span id=sy2m187 style=COLOR:red&gt;valign&lt;/span&gt;&lt;span id=sy2m188 style=COLOR:blue&gt;="middle"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m190 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m191 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m192&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m193 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m194 style=COLOR:maroon&gt;img&lt;/span&gt;   &lt;span id=sy2m195 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=sy2m196 style=COLOR:blue&gt;="Img1"&lt;/span&gt;   &lt;span id=sy2m197 style=COLOR:red&gt;src&lt;/span&gt;&lt;span id=sy2m198 style=COLOR:blue&gt;="Images/ajax-loader.gif"&lt;/span&gt;   &lt;span id=sy2m199 style=COLOR:red&gt;alt&lt;/span&gt;&lt;span id=sy2m200 style=COLOR:blue&gt;="loading..."&lt;/span&gt;   &lt;span id=sy2m201 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m203 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m204 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m205&gt;&amp;nbsp;&lt;/span&gt;&lt;span id=sy2m206&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m207 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m208 style=COLOR:maroon&gt;td&lt;/span&gt;&lt;span id=sy2m209 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m211 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m212 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m213&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m214 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m215 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=sy2m216 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m218 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m219 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m220&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m221 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m222 style=COLOR:maroon&gt;table&lt;/span&gt;&lt;span id=sy2m223 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m225 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m226 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m227&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m228 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m229 style=COLOR:maroon&gt;div&lt;/span&gt;&lt;span id=sy2m230 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m232 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m233 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m234&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m235 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m236 style=COLOR:maroon&gt;div&lt;/span&gt;   &lt;span id=sy2m237 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=sy2m238 style=COLOR:blue&gt;="Target"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m240 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m241 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m242&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m243 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m244 style=COLOR:maroon&gt;div&lt;/span&gt;&lt;span id=sy2m245 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m247 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m248 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m249&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m250 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m251 style=COLOR:maroon&gt;div&lt;/span&gt;&lt;span id=sy2m252 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m254 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m255 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m256&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m257 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m258 style=COLOR:maroon&gt;form&lt;/span&gt;&lt;span id=sy2m259 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m261&gt;   &lt;span id=sy2m262 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=sy2m263 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font size=2&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span id=sy2m264 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m265&gt;   &lt;br id=sy2m266&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m267&gt;   Tenemos un ScripManager configurado para tener acceso a nuestro código   JavaScript: &lt;/p&gt; &lt;p class=MsoNormal id=sy2m268&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m269 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m270 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m272 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m273 style=COLOR:maroon&gt;Scripts&lt;/span&gt;&lt;span id=sy2m274 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m276 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m277 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m278&gt;&amp;nbsp;   &lt;/span&gt;&lt;span id=sy2m279 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m280 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=sy2m281 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=sy2m282 style=COLOR:maroon&gt;ScriptReference&lt;/span&gt;   &lt;span id=sy2m283 style=COLOR:red&gt;Path&lt;/span&gt;&lt;span id=sy2m284 style=COLOR:blue&gt;="Default.js"&lt;/span&gt;   &lt;span id=sy2m285 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m287 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m288 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m290 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m291 style=COLOR:maroon&gt;Scripts&lt;/span&gt;&lt;span id=sy2m292 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m293 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   y también le configuramos el path a nuestro WebService para que pueda crear   automáticamente el proxy que vamos a usar desde nuestro código JavaScript:&lt;br id=s8v30&gt;   &lt;span id=sy2m53 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m55 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m56 style=COLOR:maroon&gt;Services&lt;/span&gt;&lt;span id=sy2m57 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m59 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m60 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m61&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span id=sy2m62 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=sy2m63 style=COLOR:maroon&gt;asp&lt;/span&gt;&lt;span id=sy2m64 style=COLOR:blue&gt;:&lt;/span&gt;&lt;span id=sy2m65 style=COLOR:maroon&gt;ServiceReference&lt;/span&gt;   &lt;span id=sy2m66 style=COLOR:red&gt;Path&lt;/span&gt;&lt;span id=sy2m67 style=COLOR:blue&gt;="PageLoader.asmx"&lt;/span&gt;   &lt;span id=sy2m68 style=COLOR:blue&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=sy2m71 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m73 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=sy2m74 style=COLOR:maroon&gt;Services&lt;/span&gt;&lt;span id=sy2m75 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70&gt;   &lt;br id=s8v31&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70&gt;   También tenemos 2 HTML Buttons, uno para llamar a Page1.aspx y otro para   Page2.aspx y además 2 divs, uno para mostrar la imagen de Loading mientras se   carga la página interior y otro para cargar el HTML que devuelve el   WebService. &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70&gt;   &lt;br id=a:v10&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70&gt;   Al presionar cualquiera de los botones se hace una llamada al AJAX Enabled   WebService como vemos en el siguiente código: &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70&gt;   &lt;br id=osqu0&gt; &lt;/p&gt; &lt;p class=MsoNormal id=sy2m70&gt;   &lt;span id=sy2m71 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=sy2m75 style=COLOR:blue&gt;function   btnLoadPage1_onclick()&lt;br id=h.ij0&gt;   {&lt;br id=h.ij1&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; ret = PageLoader.LoadPage("Page1.aspx", OnComplete,   OnTimeOut, OnError);&lt;br id=h.ij2&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById('Loading').style.display = 'block';&lt;br id=h.ij3&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; return(true);&lt;br id=h.ij4&gt;   }&lt;br id=h.ij5&gt;   function btnLoadPage2_onclick()&lt;br id=h.ij6&gt;   {&lt;br id=h.ij7&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; ret = PageLoader.LoadPage("Page2.aspx", OnComplete,   OnTimeOut, OnError);&lt;br id=h.ij8&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById('Loading').style.display = 'block';&lt;br id=h.ij9&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; return(true);&lt;br id=h.ij10&gt;   }&lt;br id=h.ij11&gt;   &lt;br id=h.ij12&gt;   function OnComplete(args)&lt;br id=h.ij13&gt;   {&lt;br id=h.ij14&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById('Target').innerHTML = args;&lt;br id=h.ij15&gt;   }&lt;br id=h.ij16&gt;   &lt;br id=h.ij17&gt;   function OnTimeOut(args)&lt;br id=h.ij18&gt;   {&lt;br id=h.ij19&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; alert("Service call timed out.");&lt;br id=h.ij20&gt;   }&lt;br id=h.ij21&gt;   &lt;br id=h.ij22&gt;   function OnError(args)&lt;br id=h.ij23&gt;   {&lt;br id=h.ij24&gt;   &amp;nbsp;&amp;nbsp;&amp;nbsp; alert("Error calling service method.");&lt;br id=h.ij25&gt;   }&lt;br id=s8v32&gt;   &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;br id=h.ij26&gt; &lt;p class=MsoNormal id=sy2m293 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   PageLoader es el proxy creado por el ScriptManager y LoadPage es el   [WebMethod] expuesto por nuestro WebService. La llamada es asíncrona por lo   que nos pide que especifiquemos la función que se va a llamar cuando se haya   completado la petición, la función que se llama si se produce un time out y la   función que se llama si se produce un error. &lt;/p&gt; O sea que las funciones de los botones hacen 2 cosas: la petición y mostrar la imagen de Loading.&lt;br id=kh350&gt; &lt;br id=kh351&gt; Una vez que el AJAX Enabled WebService devuelve el HTML, cargamos este dentro del div "Target" en la función OnComplete.&lt;br id=q:s70&gt; &lt;br id=q:s71&gt; Lo que queda ahora es ocultar el Loading, esto lo hacemos desde la página interior, por ejemplo, Page1.aspx, en el evento onload en el body:&lt;br id=q:s72&gt; &lt;br id=q:s73&gt; &lt;p class=MsoNormal id=q:s74 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s75 style=' FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;span id=q:s76 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font size=2&gt;body&lt;/font&gt;&lt;/span&gt;   &lt;span id=q:s77 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s78 style=COLOR:red&gt;onload&lt;/span&gt;&lt;span id=q:s79 style=COLOR:blue&gt;="parent.document.getElementById('Loading').style.display='none';"&lt;/span&gt;   &lt;span id=q:s710 style=COLOR:red&gt;style&lt;/span&gt;&lt;span id=q:s711 style=COLOR:blue&gt;="margin:0px;"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s713 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s714 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s715&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s716 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=q:s717 style=COLOR:maroon&gt;form&lt;/span&gt;   &lt;span id=q:s718 style=COLOR:red&gt;id&lt;/span&gt;&lt;span id=q:s719 style=COLOR:blue&gt;="form1"&lt;/span&gt;   &lt;span id=q:s720 style=COLOR:red&gt;runat&lt;/span&gt;&lt;span id=q:s721 style=COLOR:blue&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s723 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s724 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s725&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s726 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=q:s727 style=COLOR:maroon&gt;table&lt;/span&gt;   &lt;span id=q:s728 style=COLOR:red&gt;style&lt;/span&gt;&lt;span id=q:s729 style=COLOR:blue&gt;="width:200px;height:200px;"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s731 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s732 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s733&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s734 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=q:s735 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=q:s736 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s738 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s739 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s740&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s741 style=COLOR:blue&gt;&amp;lt;&lt;/span&gt;&lt;span id=q:s742 style=COLOR:maroon&gt;td&lt;/span&gt;   &lt;span id=q:s743 style=COLOR:red&gt;valign&lt;/span&gt;&lt;span id=q:s744 style=COLOR:blue&gt;="middle"&lt;/span&gt;   &lt;span id=q:s745 style=COLOR:red&gt;align&lt;/span&gt;&lt;span id=q:s746 style=COLOR:blue&gt;="center"&lt;/span&gt;   &lt;span id=q:s747 style=COLOR:red&gt;style&lt;/span&gt;&lt;span id=q:s748 style=COLOR:blue&gt;="background-color:Blue;color:White"&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s750 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s751 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s752&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;Page1.aspx&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s754 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s755 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s756&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s757 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=q:s758 style=COLOR:maroon&gt;td&lt;/span&gt;&lt;span id=q:s759 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s761 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s762 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s763&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s764 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=q:s765 style=COLOR:maroon&gt;tr&lt;/span&gt;&lt;span id=q:s766 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s768 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s769 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s770&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s771 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=q:s772 style=COLOR:maroon&gt;table&lt;/span&gt;&lt;span id=q:s773 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s775 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=q:s776 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=q:s777&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=q:s778 style=COLOR:blue&gt;&amp;lt;/&lt;/span&gt;&lt;span id=q:s779 style=COLOR:maroon&gt;form&lt;/span&gt;&lt;span id=q:s780 style=COLOR:blue&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt;   &lt;span id=q:s783 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;lt;/&lt;/font&gt;&lt;/span&gt;&lt;span id=q:s784 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;font size=2&gt;body&lt;/font&gt;&lt;/span&gt;&lt;span id=q:s785 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt;   &lt;br id=lli40&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt;   Solo quedaría ver el WebService, que lo que hace basicamente es devolver un   HTML con un IFRAME con la página que le pasamos como parámetro, de esta forma   si nuestra Page1.aspx o Page2.aspx hacen un PostBack, este no afecta a la   página contenedora. &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt;   &lt;span id=q:s785 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;br id=lte50&gt;   &lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_40 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_41 style=' FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;[&lt;/font&gt;&lt;span id=ww_42 style=COLOR:teal&gt;WebService&lt;/span&gt;&lt;font size=2&gt;(Namespace   =   &lt;/font&gt;&lt;span id=ww_43 style=COLOR:maroon&gt;"http://tempuri.org/"&lt;/span&gt;&lt;font size=2&gt;)]&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_45 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_46 style=' FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;[&lt;/font&gt;&lt;span id=ww_47 style=COLOR:teal&gt;WebServiceBinding&lt;/span&gt;&lt;font size=2&gt;(ConformsTo   =   &lt;/font&gt;&lt;span id=ww_48 style=COLOR:teal&gt;WsiProfiles&lt;/span&gt;&lt;font size=2&gt;.BasicProfile1_1)]&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_410 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_411 style=' FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;[System.Web.Script.Services.&lt;/font&gt;&lt;span id=ww_412 style=COLOR:teal&gt;ScriptService&lt;/span&gt;&lt;font size=2&gt;]&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_414 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_415 style=' FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;font size=2&gt;public&lt;/font&gt;&lt;/span&gt;   &lt;span id=ww_416 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=ww_417 style=COLOR:blue&gt;class&lt;/span&gt;   &lt;span id=ww_418 style=COLOR:teal&gt;PageLoader&lt;/span&gt;&lt;font size=2&gt; :   &lt;/font&gt;&lt;span id=ww_419 style=COLOR:teal&gt;WebService&lt;/span&gt; &lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_421 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_422 style=' FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;{&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_424 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_425 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=ww_426&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;[&lt;/font&gt;&lt;span id=ww_427 style=COLOR:teal&gt;WebMethod&lt;/span&gt;&lt;font size=2&gt;]&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_429 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_430 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=ww_431&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=ww_432 style=COLOR:blue&gt;public&lt;/span&gt;   &lt;span id=ww_433 style=COLOR:blue&gt;string&lt;/span&gt;&lt;font size=2&gt;   LoadPage(&lt;/font&gt;&lt;span id=ww_434 style=COLOR:blue&gt;string&lt;/span&gt;&lt;font size=2&gt;   pageName)&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_436 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_437 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=ww_438&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;{&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_440 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_441 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=ww_442&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;span id=ww_443 style=COLOR:blue&gt;return&lt;/span&gt;   &lt;span id=ww_444 style=COLOR:maroon&gt;@"&amp;lt;iframe frameborder='0'&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_446 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_447 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;span id=ww_448&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;scrolling='no'&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_450 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_451 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;span id=ww_452&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;marginheight='0'&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_454 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_455 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;span id=ww_456&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;marginwidth='0' &lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_458 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_459 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;span id=ww_460&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;height='200px' &lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_462 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_463 style=' FONT-FAMILY:"Courier New"; COLOR:maroon'&gt;&lt;span id=ww_464&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;width='200px' id='frame'   src='"&lt;/font&gt;&lt;/span&gt;&lt;span id=ww_465 style=' FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;   + pageName + &lt;/font&gt;&lt;span id=ww_466 style=COLOR:maroon&gt;"'   runat='server'&amp;gt;&amp;lt;/iframe&amp;gt;"&lt;/span&gt;&lt;font size=2&gt;;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_468 style="MARGIN-BOTTOM:0.0001pt; LINE-HEIGHT:normal"&gt;   &lt;span id=ww_469 style=' FONT-FAMILY:"Courier New"'&gt;&lt;span id=ww_470&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;/span&gt;&lt;font size=2&gt;}&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_472&gt;   &lt;span id=ww_473 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;}&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_474&gt;   &lt;br id=ww_475&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_477&gt;   Es importante destacar la siguiente línea que es la que permite que el hacer   AJAX Enabled al WebService: &lt;/p&gt; &lt;p class=MsoNormal id=ww_479&gt;   &lt;span id=ww_480 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"'&gt;&lt;br id=ww_481&gt;   &lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_482&gt;   &lt;span id=ww_483 style=' FONT-FAMILY:"Courier New"'&gt;&lt;font size=2&gt;[System.Web.Script.Services.&lt;/font&gt;&lt;span id=ww_484 style=COLOR:teal&gt;ScriptService&lt;/span&gt;&lt;font size=2&gt;]&lt;/font&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_482&gt;   &lt;br id=phz00&gt; &lt;/p&gt; &lt;p class=MsoNormal id=ww_482&gt;   El siguiente gif animado muestra el ejemplo funcionando: &lt;/p&gt; &lt;p class=MsoNormal id=ww_482&gt;   &lt;span id=ww_478 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"'&gt;   &lt;div id=hh35 style="PADDING:1em 0pt; TEXT-ALIGN:left"&gt;     &lt;img id=zx630 src=http://docs.google.com/File?id=dcf67f7q_281937wp7g4_b style="WIDTH:450px; HEIGHT:387px"&gt;   &lt;/div&gt;   &lt;/span&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt;   &lt;br id=is1y0&gt; &lt;/p&gt; &lt;p class=MsoNormal id=q:s782&gt;   &lt;span id=q:s785 style=' LINE-HEIGHT:115%; FONT-FAMILY:"Courier New"; COLOR:blue'&gt;&lt;br id=is1y1&gt;   &lt;/span&gt; &lt;/p&gt; &lt;br id=zk735&gt; &lt;br id=zk736&gt; &lt;br id=n9s3&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-4439054168269728492?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/lAknPIiNQ6k" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/lAknPIiNQ6k/ajax-carga-dinmica-de-pginas-aspx-con_9797.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>13</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/05/ajax-carga-dinmica-de-pginas-aspx-con_9797.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-4793359599384331428</guid><pubDate>Tue, 06 May 2008 18:46:00 +0000</pubDate><atom:updated>2008-05-28T16:39:18.170-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Células.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;div  align="left" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;[Células.NET] Células.Net &lt;/span&gt;&lt;strong style="font-weight: bold;"&gt;en Córdoba&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;En esta oportunidad quiero comentarles sobre Células.Net, un programa&lt;br /&gt;académico de Microsoft para estudiantes que estén interesados&lt;br /&gt;en aprender mas sobre tecnologías Microsoft. Córdoba se está&lt;br /&gt;convirtiendo en un gran foco de grupos de estudios y tengo el agrado de comentarles&lt;br /&gt;que estoy formando parte como profesor guía de 3 de estos grupos. Quiero&lt;br /&gt;darles la bienvenida a estas personas que se han puesto por objetivo aprender&lt;br /&gt;mas sobre tecnologías Microsoft formando parte de esta comunidad. Les&lt;br /&gt;presento las células:&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0SUJmvhOBfg/SC5koPc8i0I/AAAAAAAAAW4/4_AzZHXJLiA/s1600-h/LogoDevelopNet.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_0SUJmvhOBfg/SC5koPc8i0I/AAAAAAAAAW4/4_AzZHXJLiA/s400/LogoDevelopNet.png" alt="" id="BLOGGER_PHOTO_ID_5201205262164986690" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Nombre Clave: &lt;strong&gt;Developnet&lt;/strong&gt;&lt;br /&gt;Blog: &lt;a href="http://developmentnet.blogspot.com/"&gt;http://developmentnet.blogspot.com&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;  &lt;p align="center"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 211px; height: 211px;" id="BLOGGER_PHOTO_ID_5197330024275477746" src="http://2.bp.blogspot.com/_0SUJmvhOBfg/SCCgHtVphPI/AAAAAAAAAWo/SeSw0RCfiLE/s400/LogoHibridos.jpg" /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;p  align="center" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Nombre Clave:&lt;strong&gt; Hibridos&lt;/strong&gt;&lt;br /&gt;Blog: &lt;a href="http://hibrides.blogspot.com/"&gt;http://hibrides.blogspot.com&lt;/a&gt;&lt;/span&gt;  &lt;/p&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;p  align="center" style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 247px; height: 115px;" id="BLOGGER_PHOTO_ID_5197329285541102802" src="http://2.bp.blogspot.com/_0SUJmvhOBfg/SCCfctVphNI/AAAAAAAAAWY/UrPj8QQ_P9Q/s400/LogoAntares.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;Nombre Clave: &lt;strong&gt;Antares&lt;/strong&gt;&lt;br /&gt;Blog: &lt;a href="http://hibrides.blogspot.com/"&gt;http://antarescell.blogspot.com&lt;/a&gt;&lt;/span&gt;  &lt;/p&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;En este proyecto estoy junto&lt;br /&gt;a Matías Iácono quien es profesor guía de otro conjunto&lt;br /&gt;de células. Para el manejo de todas las células que tenemos entre&lt;br /&gt;los 2 hemos creado una lista de distribución, usando los grupos de Google.&lt;br /&gt;Los interesados pueden ver los avances de estas células en: &lt;a href="http://groups.google.com.ar/group/celulasnetcordoba"&gt;http://groups.google.com.ar/group/celulasnetcordoba&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;/span&gt;&lt;p  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Saludos a todos.&lt;/span&gt;&lt;/p&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-4793359599384331428?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/DniAWJNxrqA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/DniAWJNxrqA/celulasnet-post-1.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_0SUJmvhOBfg/SC5koPc8i0I/AAAAAAAAAW4/4_AzZHXJLiA/s72-c/LogoDevelopNet.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/05/celulasnet-post-1.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-5562403805147138219</guid><pubDate>Wed, 26 Mar 2008 12:54:00 +0000</pubDate><atom:updated>2008-03-26T12:30:27.916-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">NET2.0</category><category domain="http://www.blogger.com/atom/ns#">Conferencias</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">NET3.5</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;[Conferencias] 1ras Jornadas de Actualización Informática en el ISIPE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Hola, les comento que voy a participar de las primeras jornadas de actualización informática en el ISIPE. Voy a estar disertando sobre como mejora la productividad ASP.NET 2.0.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Les dejo el anuncio que mando la gente del ISIPE.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="630"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table bg="" style="color: rgb(0, 59, 93);" border="0" cellpadding="5" cellspacing="0" height="32" width="630"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="606"&gt;&lt;table border="0" cellpadding="0" cellspacing="2" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td  style="font-weight: 200; color: rgb(255, 255, 255);font-size:16pt;" height="41"&gt;&lt;p align="center"&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(175, 217, 32);"&gt;       1º JORNADAS DE ACTUALIZACIÓN INFORMÁTICA&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;              &lt;tr&gt;                &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;              &lt;tr&gt;                &lt;td&gt;                  &lt;table bgcolor="#e5e5e5" border="0" cellpadding="0" cellspacing="5" width="630"&gt;                    &lt;tbody&gt;                    &lt;tr&gt;                      &lt;td width="38"&gt;&lt;br /&gt;&lt;/td&gt;                      &lt;td   style="color: rgb(0, 0, 0);font-family:Arial,Helvetica,sans-serif;font-size:12px;" width="577"&gt;                        &lt;p style="line-height: 150%;" align="center"&gt;      &lt;span style="color: rgb(0, 0, 102);font-family:Arial;font-size:11;"  &gt; Un espacio creado por I.S.I.P.E. - Instituto de Servicios Informáticos para Empresas de la Universidad Empresarial Siglo 21-, para que puedas actualizarte en el campo de las Tecnologías Informáticas -IT-.&lt;br /&gt;Vas a tener la oportunidad de escuchar a figuras destacadas del ámbito nacional e internacional, y conocer las distintas herramientas de IT existentes en el mercado, su aplicación, ventajas y desventajas para generar beneficios competitivos en un mercado que así lo exige.&lt;/span&gt;&lt;/p&gt;                        &lt;p align="center"&gt;      &lt;span style="font-weight: 700; color: rgb(0, 0, 128);font-size:11;" &gt;      27 y 28 de marzo / 2008 - Córdoba&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;              &lt;tr&gt;                &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;              &lt;tr&gt;                &lt;td&gt;                  &lt;table border="0" cellpadding="0" cellspacing="5" width="630"&gt;                    &lt;tbody&gt;                    &lt;tr&gt;                      &lt;td width="38"&gt;&lt;br /&gt;&lt;/td&gt;                      &lt;td   style="color: rgb(0, 0, 0);font-family:Arial,Helvetica,sans-serif;font-size:12px;" width="577"&gt;                        &lt;div&gt;       &lt;p&gt;&lt;b&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style="font-weight: bold;font-family:Arial;font-size:10;"  &gt;       Jueves 27&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt;        16.00 hs.  &lt;b&gt;&lt;span style="font-weight: bold;"&gt;       ''Nuevas tecnologías en el mundo Java''&lt;br /&gt;      &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;                       &lt;u&gt;Objetivos:&lt;/u&gt; Introducir a los presentes en las nuevas tecnologías para interfaces gráficas JavaFX. Mostrar ambientes de desarrollo para tecnología J2ME y la integración de Java con lenguajes scripting modernos Ruby.                &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt;                       &lt;u&gt;Disertante:&lt;/u&gt; &lt;b&gt;       &lt;span style="font-weight: bold;"&gt;Ezequiel Singer       &lt;/span&gt;&lt;/b&gt; -Trabaja en la división de educación de Sun Microsystems. Integra desde la Argentina a un equipo de más de 500 estudiantes de las principales universidades del mundo en un proyecto que tiene como base acercar a la tecnología SUN a los ámbitos académicos. Su misión es interactuar con profesores, alumnos y directivos en la formación de grupos de usuarios, foros, en la confección de eventos, charlas, seminarios y talleres y en el continuo apoyo a las currículas, manteniendo actualizados los ámbitos académicos con la última tecnología SUN-.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt;       18:30 HS. Break&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:10;"&gt;       &lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;19.00 hs.          &lt;/span&gt;&lt;b&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style="font-weight: bold;font-family:Arial;" &gt;       '&lt;span style="font-weight: bold;font-family:Arial;font-size:10;"  &gt;'H&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-weight: bold;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;erramientas        para mejorar la productividad en desarrollo Web con        .NET''&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;&lt;br /&gt;      &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;       &lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt;                       &lt;br /&gt;                        &lt;u&gt;Objetivos&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt; - Dar a conocer las diferencias y nuevas mejoras que se han introducido en el mercado a partir del Visual Studio 2005, haciendo hincapié en el desarrollo de aplicaciones web&lt;br /&gt;      .&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;color:blue;"  &gt;&lt;span style=";font-family:Arial;color:blue;"  &gt;       &lt;/span&gt;&lt;/span&gt;       &lt;span style=";font-family:Arial;font-size:85%;color:black;"   &gt;       &lt;span style=";font-family:Arial;font-size:10;color:black;"   &gt;      &lt;br /&gt;                                    &lt;wbr&gt;   - Mostrar las        nuevas herramientas de &lt;a href="http://asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt; 2.0 que ayudan a mejorar notablemente la productividad, acortando los tiempos y estandarizando los métodos de desarrollo.        &lt;br /&gt;                                    &lt;wbr&gt;   - Mostrar las principales características de Silverlight, su implementación en el desarrollo de sitios web e interacción con lenguajes de servidor.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:10;"&gt;       &lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;              &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;color:black;"   &gt;&lt;span style=";font-family:Arial;color:black;"  &gt;  &lt;b&gt;        &lt;/b&gt;&lt;u&gt;Disertante:&lt;/u&gt; &lt;b&gt;       &lt;span style=";font-family:Arial;font-size:10;color:black;"   &gt;       Mgt. Gustavo Ferrero&lt;/span&gt; &lt;/b&gt;-Ingeniero en Sistemas (UCC).Master en Ingeniería de Software (ITBA). Tiene experiencia en integración de tecnología (J2EE y .NET) y gran capacidad de investigación. Posee sólidos conocimientos técnicos en diferentes lenguajes de programación (Visual Basic, Visual C, DELPHI) y ha liderado grandes proyectos tecnológicos. Algunas de sus publicaciones: "Ciclo de vida en Espiral Win-Win", "Métricas de Software", "Algoritmos de Minería de Datos"-&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;&lt;br /&gt;      &lt;span style="font-weight: bold;"&gt;&lt;b&gt;                                     &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;&lt;span style="font-weight: bold;font-family:Arial;" &gt;               Ing. Juan Pablo Ibáñez -&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;color:black;"   &gt;&lt;span style=";font-family:Arial;font-size:10;color:black;"   &gt;Ingeniero en Sistemas. Posee experiencia en el desarrollo de aplicaciones mobiles y aplicaciones para Internet en proyectos de gran envergadura para empresas nacionales y extranjeras. Sus publicaciones: "Tecnologías AJAX", en Netdeveloper y Ineta Latam -  International .NET Association-&lt;br /&gt;                                     &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;span style=";font-family:Arial;font-size:10;"  &gt;&lt;b&gt;&lt;span style="font-weight: bold;"&gt;Ing.        Matías Saúl Iacono Dagatti&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:black;"&gt;       &lt;span style="color:black;"&gt;-Licenciado en Ingeniería de Sistemas. Aprobado con Honores, en la certificación en ASP.net 2.0 (Whidbey), otorgado por Microsoft MVP Academy. Certificado en C# nivel 100 otorgado por Microsoft MVP Academy-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:10;"&gt;&lt;br /&gt;     &lt;br /&gt;      &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Viernes 28&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:10;"&gt;       &lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;16:00 hs.   &lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;&lt;span style="font-weight: bold;font-family:Arial;" &gt;        &lt;span style="font-weight: bold;font-family:Arial;font-size:10;"  &gt;       "Gestión por Procesos"&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;b&gt;&lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;       &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;Caso de éxito: CONAGUA        Gobierno de México (&lt;span style="color:black;"&gt;&lt;span style="color:black;"&gt;Premiado        con el Premio Anual de Transparencia México 2005).&lt;br /&gt;     &lt;br /&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt;                         &lt;u&gt;Objetivos:&lt;/u&gt; Lograr que los asistentes aprendan cómo las organizaciones hacen de la administración de la información el aspecto clave de su gestión. Exponer porque un modelo de gestión por procesos de negocio reduce costos, incrementa la eficiencia, mejora la calidad y acorta los tiempos de producción y respuesta&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;       &lt;span style="font-size:10;"&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="font-size:85%;"&gt;&lt;span lang="EN-GB"  style="font-size:10;"&gt;Disertantes:&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:85%;"&gt;&lt;span lang="EN-GB"  style="font-size:10;"&gt;       &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Lic. Federico        Silva&lt;/span&gt;&lt;/b&gt; (Marketing Manager - PECTRA        Technology, Inc.),&lt;br /&gt;      &lt;b&gt;&lt;span style="font-weight: bold;"&gt;                                     &lt;wbr&gt;  AS. &lt;/span&gt;&lt;/b&gt;       &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;       &lt;span style="font-weight: bold;font-size:10;" &gt;       Alfredo Cisterna&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:10;"&gt;        (Product Manager - PECTRA Technology, Inc.), &lt;b&gt;       &lt;span style="font-weight: bold;"&gt;                                     &lt;wbr&gt;  Ing. Isidro Gaytán        Arvizu &lt;/span&gt;&lt;/b&gt;(Director del Sistema CONAGUA.)        &lt;b&gt;&lt;span style="font-weight: bold;"&gt;                                     &lt;wbr&gt;  Lic. Juan Carlos        Garcés del Ángel &lt;/span&gt;&lt;/b&gt;(Coordinador Operativo        del Sistema de Gestión Hidroagrícola, CONAGUA)&lt;br /&gt;     &lt;br /&gt;      18.30 hs. Break&lt;br /&gt;     &lt;br /&gt;      19:00 hs. &lt;b&gt;&lt;span style="font-weight: bold;"&gt;''Testing        de Software, adaptación y como aplicar técnicas        efectivas ''&lt;/span&gt;&lt;/b&gt;. Caso de Éxito: Nimbuzz        (Holanda)&lt;br /&gt;     &lt;br /&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;       &lt;span style=";font-family:Arial;font-size:10;"  &gt;                      &lt;u&gt;Objetivos:&lt;/u&gt; Lograr ser capaces de Identificar las técnicas de testing adecuadas y los modelos a aplicar. Generar independencia de Vendors y reportar Errores en empresas internacionales.&lt;br /&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;       &lt;span style="font-size:10;"&gt;&lt;br /&gt;                     &lt;u&gt;Disertantes:&lt;/u&gt; &lt;b&gt;       &lt;span style="font-weight: bold;"&gt;Sergio Emanuel        Cusmai&lt;/span&gt;&lt;/b&gt; -Director de QAustral S.A. Empresa especializada en Calidad de Software y Negocios. Gerente General de Nimbuzz Argentina S.A. Tester Certificado por la British Computer Society.- &lt;b&gt;       &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;                                    &lt;wbr&gt;    Menno Johan        Bieringa &lt;/span&gt;&lt;/b&gt;. Holanda -Web Manager de        Nimbuzz Argentina S.A. Desarrollador Web Senior-&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;       &lt;span style="font-weight: bold;font-size:10;" &gt;       Arancel:&lt;span style="font-weight: bold;font-size:10;" &gt;       &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;       &lt;span style="font-size:10;"&gt;&lt;span style="font-size:85%;"&gt;$24 por        jornada.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p&gt; &lt;/p&gt;&lt;/div&gt;      &lt;/td&gt;&lt;/tr&gt;                    &lt;tr&gt;                      &lt;td bgcolor="#afd920"&gt;&lt;br /&gt;&lt;/td&gt;                      &lt;td   style="color: rgb(175, 217, 32);font-family:Arial,Helvetica,sans-serif;font-size:11px;" bg=""&gt;                        &lt;div align="center"&gt;&lt;span style="color: rgb(0, 0, 128);font-size:85%;" &gt;&lt;b&gt;       INSCRIPCIONES&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;      &lt;div align="center"&gt; &lt;/div&gt;      &lt;div align="center"&gt;&lt;span style="color: rgb(0, 0, 128);font-size:85%;" &gt;&lt;b&gt;       Ituzaingó 484 - 5º piso&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;      &lt;div align="center"&gt; &lt;/div&gt;      &lt;div align="center"&gt;&lt;span style="color: rgb(0, 0, 128);font-size:85%;" &gt;&lt;b&gt;de        17 a 20 hs.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-5562403805147138219?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/dkX1UWGZ814" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/dkX1UWGZ814/conferencias-1ras-jornadas-de.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>1</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/03/conferencias-1ras-jornadas-de.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-2845146131114262944</guid><pubDate>Tue, 25 Mar 2008 16:59:00 +0000</pubDate><atom:updated>2008-03-25T14:07:57.130-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">NET2.0</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-family: verdana; font-weight: bold;font-size:100%;" &gt;[NET2.0] &lt;/span&gt;&lt;span style="font-family: verdana; font-weight: bold;font-size:100%;" &gt;Usando WMI (Windows Management Instrumentation) technology&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span lang="es-AR"&gt;por Ing. Juan Pablo Ibañez&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;color:#000080;"  &gt;&lt;u&gt;&lt;a href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span lang="es-AR"&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Esta tecnología nos permite recuperar toda la información que deseemos de cualquier sistema operativo Windows ya sea local o remoto. Información como cuales son los adaptadores de red, la memoria RAM, los discos fijos y removibles, la CPU, etc. de nuestra PC puede ser obtenida programáticamente mediante WMI.&lt;/span&gt;&lt;em style="font-family: verdana;"&gt;&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; La definición de WMI es:&lt;/span&gt;&lt;br /&gt;&lt;em style="font-family: verdana;"&gt;&lt;br /&gt;Instrumental de administración de Windows (WMI) es un componente del sistema operativo Windows que permite obtener acceso mediante programación a información de administración en un entorno empresarial. WMI en .NET Framework se basa en la tecnología WMI original y permite el mismo desarrollo de aplicaciones y proveedores, además de las ventajas que ofrece la programación en .NET Framework.&lt;/em&gt;&lt;/span&gt; &lt;span style="font-family: verdana;font-size:85%;color:#000080;"  &gt;&lt;u&gt;&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;WMI en .NET puede ser utilizada mediante una serie de objetos lo cual nos facilita mucho su uso. Estos objetos se encuentras agrupados dentro del namespace &lt;/span&gt;&lt;span style="font-weight: bold; font-family: verdana;"&gt;System.Management&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;. WMI utiliza una sintaxis muy parecedida a la de SQL para armar "queries" sobre los componentes de los cuales queremos obtener información.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; Más información teórica sobre WMI puede ser encontrada en &lt;/span&gt;&lt;a style="font-family: verdana;" title="http://msdn2.microsoft.com/es-es/library/ms257353(VS.80).aspx" href="http://msdn2.microsoft.com/es-es/library/ms257353%28VS.80%29.aspx" id="gs4w"&gt;http://msdn2.microsoft.com/es-es/library/ms257353(VS.80).aspx&lt;/a&gt;&lt;span style="font-family: verdana;"&gt;. Microsoft nos proporciona también un software llamado &lt;/span&gt;&lt;a style="font-family: verdana;" title="WMI Code Creator v1.0" href="http://www.microsoft.com/downloads/details.aspx?familyid=2CC30A64-EA15-4661-8DA4-55BBC145C30E&amp;amp;displaylang=en" id="r.sh"&gt;WMI Code Creator v1.0&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; para generar código (VBScript, C# y VB.NET) que use WMI.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; Nada mejor para entender WMI que llevarlo a la práctica. Supongamos que quisieramos obtener información sobre los discos fijos que tenemos en nuestra PC.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt; Primero debemos definir un objeto &lt;/span&gt;&lt;a style="font-family: verdana;" title="ManagementScope" href="http://msdn2.microsoft.com/es-es/library/system.management.managementscope%28VS.80%29.aspx" id="dm6x"&gt;ManagementScope&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; font-family: verdana;"&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;que representa un ámbito (espacio de nombres) para las operaciones de administración.&lt;/span&gt;&lt;/span&gt;  &lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;&lt;br /&gt;ManagementScope&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; scope = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: teal;"&gt;ManagementScope&lt;/span&gt;(&lt;span style="color: teal;"&gt;ManagementPath&lt;/span&gt;.DefaultPath);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;    &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: verdana;"&gt;Luego debemos armar la query que nos devuelva por ejemplo el nombre y el tamaño de los discos fijos usando un objecto del tipo &lt;/span&gt;&lt;a style="font-family: verdana;" title="ObjectQuery" href="http://msdn2.microsoft.com/es-es/library/system.management.objectquery%28VS.80%29.aspx" id="n2j_"&gt;ObjectQuery&lt;/a&gt;&lt;span style="font-family: verdana;"&gt; que representa una consulta de administración que devuelve instancias o clases.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;ObjectQuery&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; query = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: teal;"&gt;ObjectQuery&lt;/span&gt;(&lt;span style="color: maroon;"&gt;"SELECT Size, Name FROM Win32_LogicalDisk where DriveType=3"&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Por último crear un instancia de la clase &lt;a title="ManagementObjectSearcher" href="http://msdn2.microsoft.com/es-es/library/system.management.managementobjectsearcher%28VS.80%29.aspx" id="ds8x"&gt;ManagementObjectSearcher&lt;/a&gt; que recupera una colección de objetos de administración basándose en una consulta especificada. Esta clase es uno de los puntos de entrada más utilizados para recuperar información de administración. Se puede utilizar, por ejemplo, para enumerar todas las unidades de disco, adaptadores de red, procesos y muchos otros objetos de administración del sistema, o para saber qué conexiones de red están activas, qué servicios están detenidos, etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt; El método Get de este objeto nos devuelve el resultado de la consulta en una colección de objetos del tipo &lt;a title="ManagementObjectCollection" href="http://msdn2.microsoft.com/es-es/library/system.management.managementobjectcollection%28VS.80%29.aspx" id="mvzg"&gt;ManagementObjectCollection&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;        &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;ManagementObjectSearcher&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; searcher = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: teal;"&gt;ManagementObjectSearcher&lt;/span&gt;(scope,query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;ManagementObjectCollection&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; drives = searcher.Get();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                     &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;foreach&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; (&lt;span style="color: teal;"&gt;ManagementBaseObject&lt;/span&gt; drive &lt;span style="color: blue;"&gt;in&lt;/span&gt; drives)&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;    Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Drive Name: "&lt;/span&gt; + drive[&lt;span style="color: maroon;"&gt;"Name"&lt;/span&gt;]);&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: teal;"&gt;    Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Drive Size: "&lt;/span&gt; + drive[&lt;span style="color: maroon;"&gt;"Size"&lt;/span&gt;]);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;; color: teal;"&gt;Console&lt;/span&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;   &lt;span style="font-family: verdana;font-size:85%;" &gt;Otro lindo ejemplo es como recuperar cuales los los adaptadores de red conectados a nuestra PC.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;&lt;br /&gt;class&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color: teal;"&gt;Program&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;br /&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;const&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; IP_Enabled = &lt;span style="color: maroon;"&gt;"IPEnabled"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;const&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; IP_Address = &lt;span style="color: maroon;"&gt;"IPAddress"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;const&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; IP_Subnet = &lt;span style="color: maroon;"&gt;"IPSubnet"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;const&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; DNS_Hostname = &lt;span style="color: maroon;"&gt;"DNSHostName"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;const&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; DNS_Domain = &lt;span style="color: maroon;"&gt;"DNSDomain"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;            &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] args)&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: teal;"&gt;ManagementObjectSearcher&lt;/span&gt; searcher = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: teal;"&gt;ManagementObjectSearcher&lt;/span&gt;(&lt;span style="color: maroon;"&gt;"SELECT * FROM Win32_NetworkAdapterConfiguration"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: teal;"&gt;ManagementObjectCollection&lt;/span&gt; networks = searcher.Get();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                              &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: teal;"&gt;ManagementBaseObject&lt;/span&gt; network &lt;span style="color: blue;"&gt;in&lt;/span&gt; networks)&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"-----------------------------------------------------"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;          &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Description: "&lt;/span&gt; + network[&lt;span style="color: maroon;"&gt;"Description"&lt;/span&gt;]);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;          Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"MacAddress: "&lt;/span&gt; + network[&lt;span style="color: maroon;"&gt;"MacAddress"&lt;/span&gt;]);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;          if&lt;/span&gt; (&lt;span style="color: teal;"&gt;Convert&lt;/span&gt;.ToBoolean(network[IP_Enabled]))&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;          &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] ips = (&lt;span style="color: blue;"&gt;string&lt;/span&gt;[])network[IP_Address];&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;[] subnets = (&lt;span style="color: blue;"&gt;string&lt;/span&gt;[]) network[IP_Subnet];&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="color: teal;"&gt;            Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"DNS Hostname: "&lt;/span&gt; + network[DNS_Hostname]);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"DNS Domain: "&lt;/span&gt; + network[DNS_Domain]);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;                                 &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt; ip &lt;span style="color: blue;"&gt;in&lt;/span&gt; ips)&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"IP: "&lt;/span&gt; + ip);&lt;o:p&gt;&lt;br /&gt; &lt;/o:p&gt;&lt;span style=""&gt;           &lt;/span&gt;&lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt; subnet &lt;span style="color: blue;"&gt;in&lt;/span&gt; subnets)&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;                &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: maroon;"&gt;"Subnet: "&lt;/span&gt; + subnet);&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: teal;"&gt;Console&lt;/span&gt;.ReadLine();&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; line-height: 115%; font-family: &amp;quot;Courier New&amp;quot;;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-2845146131114262944?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/WGqsqLWyP-g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/WGqsqLWyP-g/net2.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>1</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/03/net2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-3651659257738928206</guid><pubDate>Tue, 04 Mar 2008 16:57:00 +0000</pubDate><atom:updated>2008-03-05T19:42:58.509-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Conferencias</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">NET3.5</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="color: rgb(0, 0, 0);font-size:130%;" &gt;&lt;b&gt;[Conferencias] LINQ to SQL&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;span lang="es-AR"&gt;por Ing. Juan Pablo Ibañez&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt;&lt;u&gt;&lt;a href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span lang="es-AR"&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:130%;" &gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Estoy organizando una conferencia sobre LINQ to SQL en el Colegio de Ingenieros Especialistas de Córdoba, ya que desde el año pasado tengo el agrado de formar parte la Comisión de Informática. El disertante es el Ing. Matías Iácono (MVP).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Les dejo el flyer que mandamos con la gente del CIEC.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Saludos.&lt;/span&gt;&lt;br /&gt;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 &lt;div style="color: rgb(0, 0, 0);" class="gmail_quote"&gt;&lt;div bg=""&gt;                                                 &lt;div align="center"&gt; &lt;center&gt;  &lt;table style="width: 450px;" border="0" cellpadding="2"&gt;                                                     &lt;tbody&gt;                                                    &lt;tr&gt;                                                         &lt;td&gt;                                                                                                                                                                                                                                                                                                                                                &lt;div align="center"&gt;                                                                                                                                                                                                                                                                                                                                                &lt;center&gt;                                                                                                                                                                                                                                                                                                                                                &lt;table border="0" cellpadding="2" width="550"&gt;                                                             &lt;tbody&gt;                                                                                                                                                                                    &lt;tr&gt;                                                                 &lt;td colspan="1" bg="" align="right"&gt;&lt;span style="color: rgb(255, 255, 255);font-family:Bookman Old Style;font-size:85%;"  &gt;&lt;i&gt;&lt;b&gt;Córdoba, 04 de Marzo de 2008 &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/td&gt;                                                             &lt;/tr&gt;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         &lt;/tbody&gt;                                                                                                                                                                                                                                                                                                                                                &lt;/table&gt;                                                         &lt;/center&gt;                                                      &lt;/div&gt;                                                                                                                                                                                                                                                                                                                                                                                               &lt;p&gt;&lt;span style=";font-family:Bookman Old Style;font-size:85%;"  &gt;&lt;b&gt;Estimado/a&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;                  El Colegio de Ingenieros Especialistas de Córdoba informa  la realización de la:&lt;br /&gt;&lt;br /&gt;                                             &lt;div style="text-align: center;"&gt;&lt;small&gt;&lt;small&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt; &lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;/span&gt;&lt;/span&gt;&lt;/small&gt;&lt;/small&gt;&lt;big&gt;&lt;big&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;big&gt;&lt;big&gt;&lt;br /&gt; &lt;/big&gt;&lt;/big&gt;&lt;/span&gt;&lt;/span&gt;&lt;big style="font-style: italic;"&gt;&lt;big&gt;&lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;"CONFERENCIA: LINQ TO SQL"&lt;/span&gt;&lt;/big&gt;&lt;br /&gt; &lt;/big&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Esta contará con la disertación del profesional &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ing. Matías Saúl Iacono Dagatti&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Licenciado en Ingeniería de Sistemas&lt;br /&gt;Aprobado con Honores, en la certificación en ASP.net 2.0 (Whidbey), otorgado por Microsoft MVP Academy. Certificado en C# nivel 100 otorgado por Microsoft MVP Academy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;span style="font-weight: bold;"&gt;Miércoles 19 de Marzo de 2008&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;18.30 a 21.30&lt;/span&gt;&lt;/big&gt;&lt;/big&gt;&lt;br /&gt;(Coffee Break de 15 minutos)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; text-decoration: underline;"&gt;PROGRAMA&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Conceptos generales de Linq&lt;/li&gt;&lt;li&gt;Entidades de Linq &lt;/li&gt;&lt;li&gt;Modelado de datos usando Linq&lt;/li&gt;&lt;li&gt;Modelado de consultas usando Linq&lt;br /&gt; &lt;/li&gt;&lt;/ol&gt; En esta conferencia se verán conceptos generales de Linq para ayudar a la comprensión de este nuevo modelo de programación. Finalmente, se hará especial hincapié en el uso de Linq para el acceso a base de datos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;              &lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;"NOS HONRARA CONTAR CON SU GRATA PRESENCIA"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lugar: Auditorio Ciec Jujuy 441 Centro&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Coordina el evento: Ing. Juan Pablo Ibañez&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;SIN CARGO &lt;/span&gt;&lt;br /&gt;&lt;big&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;Se requiere pre-inscripción por capacidad limitada &lt;/span&gt; &lt;/span&gt;&lt;/big&gt;&lt;small&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/small&gt;&lt;/div&gt;                                                      &lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold; text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;                                          &lt;hr style="width: 100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;                     &lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;INFORMES E INSCRIPCION&lt;/span&gt;&lt;br /&gt;Colegio de Ingenieros Especialistas de Córdoba - Jujuy 441- 5000 - Córdoba- Tels: 0351-4220046 - 4220081 - 4236074&lt;br /&gt;Cel: 155-553410&lt;br /&gt;Email: &lt;span style="font-weight: bold; color: rgb(51, 51, 255);"&gt;&lt;a href="mailto:ciec@ciec.com.a" target="_blank"&gt;ciec@ciec.com.a&lt;/a&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;r &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;           &lt;/div&gt;                       &lt;hr style="width: 100%;"&gt;&lt;/div&gt;                               &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;                                                                                                      &lt;small style="font-weight: bold;"&gt;&lt;span style="font-family:Bookman Old Style;"&gt;            &lt;/span&gt;&lt;/small&gt;                                                                                                                                                                                                                                                                                                                      &lt;div style="font-weight: bold;" align="center"&gt;                                                                                                                                                                                                                                                                                                                                                &lt;center&gt;                                                                                                                                                                                                                                                                                                                                                &lt;table style="width: 542px;" border="0" cellpadding="2"&gt;                                                             &lt;tbody&gt;                                                          &lt;tr&gt;                                                                 &lt;td&gt;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                &lt;p align="center"&gt;&lt;img style="width: 63px;" alt="" src="http://mail.google.com/mail/?ui=2&amp;amp;ik=eaa9f81d3e&amp;amp;realattid=0.3&amp;amp;attid=0.2&amp;amp;disp=emb&amp;amp;view=att&amp;amp;th=1187ab7748f4f7bb" /&gt;&lt;/p&gt;                                                                 &lt;/td&gt;                                                             &lt;/tr&gt;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         &lt;/tbody&gt;                                                                                                                                                                                                                                                                                                                                                &lt;/table&gt;                                                         &lt;/center&gt;                                                      &lt;/div&gt;                                                                                                                                                                                                                                                                                                                                                                                               &lt;div style="font-weight: bold;" align="center"&gt;                                                                                                                                                                                                                                                                                                                                                &lt;center&gt;                                                                                                                                                                                                                                                                                                                                                &lt;table style="width: 555px; height: 35px;" border="0" cellpadding="2"&gt;                                                             &lt;tbody&gt;                                                          &lt;tr&gt;                                                                 &lt;td bg=""&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;font-family:Bookman Old Style;font-size:78%;"  &gt;Colegio de Ingenieros Especialistas de Córdoba - Jujuy 441 - 5000 - Córdoba - Tels: (0351) 4220081/46 - Email: &lt;a href="mailto:ciec@ciec.com.ar"&gt;ciec@ciec.com.ar&lt;/a&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;font-family:Bookman Old Style;font-size:78%;"  &gt;                 - Home Page: &lt;a href="http://www.ciec.com.ar/"&gt;www.ciec.com.ar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-3651659257738928206?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/AVt4NZ8McZ4" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/AVt4NZ8McZ4/conferencias-linq-to-sql-estoy.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/03/conferencias-linq-to-sql-estoy.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-4222595661407192573</guid><pubDate>Sun, 24 Feb 2008 20:01:00 +0000</pubDate><atom:updated>2008-02-24T18:02:57.395-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-size:130%;"&gt;&lt;b&gt;[ASP.NET2.0] Extendiendo ASP.NET Server Controls&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span lang="es-AR"&gt;por Ing. Juan Pablo Ibañez&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000080;"&gt;&lt;u&gt;&lt;a href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span lang="es-AR"&gt;http://ing.juanpablo.googlepages.com&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Muchas veces, al comienzo de nuestra carrera profesional, en la desesperación por programar, nos pasa que nos olvidamos de pensar un poco mas allá de lo que tenemos que hacer justo en este momento y terminamos haciendo las cosas mas de una vez, en otras palabras nos olvidamos de pensar en "reusar". Código duplicado, funcionalidad aquí y allá, nos cuenta mas tiempo y esfuerzo, por lo cual, cuando identificamos una funcionalidad que consideramos que puede ser reusada, lo que debemos hacer es crear un componente que pueda ser usado mas de una vez, documentarlo y agregarlo a nuestra librería de componente.&lt;br /&gt;&lt;br /&gt;Para lograr esto, muchas veces lo que debemos hacer extender la funcionalidad de un control de servidor ASP.NET. Por ejemplo, tenemos el control Calendar, pero nos gustaría que cuando pasamos el mouse sobre un día este se pinte de otro color para destacarlo. Esta funcionalidad no la provee el control Calendar clásico de ASP.NET. Podríamos programar la funcionalidad en la misma página donde tenemos agregado el control o podríamos crear un control nuevo con toda la funcionalidad y reusarlo.&lt;br /&gt;&lt;br /&gt;Para crear este nuevo control debemos extender la funcionalidad del control Calendar usando el modelo de herencia de ASP.NET.&lt;br /&gt;&lt;br /&gt;Lo primero que tenemos que hacer es abrir VisualStudio y crear un proyecto del tipo ASP.NET ServerControl.&lt;br /&gt;&lt;div id="clsf" style="padding: 1em 0pt; text-align: left;"&gt;   &lt;div id="fxgt" style="padding: 1em 0pt; text-align: left;"&gt;     &lt;img src="http://docs.google.com/File?id=dcf67f7q_233gpfrqfcc" style="width: 603px; height: 428px;" /&gt;   &lt;/div&gt; &lt;/div&gt; Lo que debemos hacer para resolver el problema es crear una clase, la cual llamaremos &lt;b&gt;HoverCalendar&lt;/b&gt;, que herede de Calendar, así podemos acceder a toda la funcionalidad de Calendar y agregarle el comportamiento especial que queremos.&lt;br /&gt;&lt;div id="y69g" style="padding: 1em 0pt; text-align: left;"&gt;   &lt;img src="http://docs.google.com/File?id=dcf67f7q_236dqkcvndc" style="width: 499px; height: 47px;" /&gt; &lt;/div&gt; El atributo &lt;a href="http://msdn2.microsoft.com/es-ar/library/system.web.ui.toolboxdataattribute%28VS.80%29.aspx" id="un40" title="ToolboxData"&gt;ToolboxData&lt;/a&gt; especifica la etiqueta predeterminada generada para un control personalizado cuando éste se arrastra desde un cuadro de herramientas en una herramienta como Microsoft Visual Studio.&lt;br /&gt;&lt;br /&gt;Luego dos propiedades, una para el BackColor, la cual llamaremos &lt;b&gt;DayHoverStyleBackgroundColor &lt;/b&gt;y otra para el ForeColor, la cual llamaremos &lt;b&gt;DayHoverStyleForeColor&lt;/b&gt;, del día sobre4 él cual el mouse esta parado.&lt;br /&gt;Tenemos que tener en cuenta que el valor de estas dos propiedades no sobrevive entre postbacks por lo cual tenemos que guardar estos valores en el ViewState.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://docs.google.com/File?id=dcf67f7q_235g42b6xhn" style="width: 415px; height: 532px;" /&gt;&lt;br /&gt;&lt;div id="e59c" style="padding: 1em 0pt; text-align: left;"&gt;   &lt;div id="a37b" style="padding: 1em 0pt; text-align: left;"&gt;     El atributo     &lt;a href="http://msdn2.microsoft.com/es-ar/library/system.componentmodel.categoryattribute%28VS.80%29.aspx" id="oyae" title="Category"&gt;Category&lt;/a&gt;     especifica el nombre de la categoría en la que se agrupa la propiedad o el     evento cuando se muestra en un control de     &lt;a href="http://msdn2.microsoft.com/es-ar/library/x495ht92%28VS.80%29.aspx" id="ctl00_rs1_mainContentContainer_ctl02"&gt;PropertyGrid&lt;/a&gt;     establecido en el modo por categorías.&lt;br /&gt;   &lt;br /&gt;    El atributo     &lt;a href="http://msdn2.microsoft.com/es-es/library/system.componentmodel.defaultvalueattribute%28VS.80%29.aspx" id="xh.v" title="DefaultValue"&gt;DefaultValue&lt;/a&gt;     especifica el valor predeterminado de una propiedad.&lt;br /&gt;   &lt;br /&gt;    Ahora lo que debemos hacer es registrar código Javascript para que sea     ejecutado cuando se produzcan los eventos onmouseover y onmouseout de cada     una de las celdas del calendario.&lt;br /&gt;   &lt;br /&gt;    Cuando el mouse esta sobre un día del calendario el día se debe renderizar     con los colores seleccionados en las propiedades     &lt;b&gt;DayHoverStyleBackgroundColor &lt;/b&gt;y &lt;b&gt;DayHoverStyleForeColor &lt;/b&gt;y cuando     el mouse sale del día en que estaba se deben volver a renderizar con los     coroles que tenia anteriormente.&lt;br /&gt;   &lt;br /&gt;    Para hacer esto nuestro Javascript guarda en 2 variables los colores que     tiene el día, renderiza los nuevos y al salir vuelve a cargar los colores     guardados en las variables.&lt;br /&gt;   &lt;br /&gt;    Este es el Javacript que necesitamos:&lt;br /&gt;  &lt;/div&gt; &lt;/div&gt; &lt;img src="http://docs.google.com/File?id=dcf67f7q_237xw6hmncs" style="width: 748px; height: 480px;" /&gt;&lt;br /&gt;&lt;div id="gtay" style="padding: 1em 0pt; text-align: left;"&gt;   &lt;div id="d49d" style="padding: 1em 0pt; text-align: left;"&gt;     Esta es una función auxiliar usada en la generación del Javascript:&lt;br /&gt;    &lt;div id="ocq_" style="padding: 1em 0pt; text-align: left;"&gt;       &lt;img src="http://docs.google.com/File?id=dcf67f7q_2388rr69hhk" style="width: 688px; height: 108px;" /&gt;     &lt;/div&gt;     Ahora, para indicarle al control que debe registrar el Javascript en el     cliente debemos hacer uso de la clase     &lt;a href="http://msdn2.microsoft.com/es-ar/library/system.web.ui.clientscriptmanager%28VS.80%29.aspx" id="m17q" title="ClientScriptManager"&gt;ClientScriptManager&lt;/a&gt;     y el momento indicado para hacerlo es cuando se dispara el evento     &lt;a href="http://msdn2.microsoft.com/es-es/library/system.web.ui.control.prerender%28VS.80%29.aspx" id="kh:g" title="PreRender"&gt;PreRender&lt;/a&gt;,     por lo cual debemos sobreescribir el metodo     &lt;a href="http://msdn2.microsoft.com/es-es/library/system.web.ui.control.onprerender%28VS.80%29.aspx" id="aquo" title="OnPreRender"&gt;OnPreRender&lt;/a&gt;     indicando que debe registrar el código Javascript ya que este evento es la     última oportunidad antes de que se guarde el estado del control en el     ViewState y el HTML se generado. O sea que si queremos que el control envíe     Javascript al cliente la última oportunidad es aquí.&lt;br /&gt;    &lt;div id="d1pl" style="padding: 1em 0pt; text-align: left;"&gt;       &lt;img src="http://docs.google.com/File?id=dcf67f7q_239gwgfvffw" style="width: 676px; height: 213px;" /&gt;     &lt;/div&gt;     Bien lo último que queda por hacer es indicar que los eventos onmouseover y     onmouseout de las celdas que representan los días del calendario llamen a     las funciones que declaramos en nuestro archivo Javascript. Para realizar     esta tarea debemos sobreescribir el modo en que se renderizan las celdas     para agregarle la funcionalidad nueva, sobreescribiendo el método     &lt;a href="http://msdn2.microsoft.com/es-es/library/system.web.ui.webcontrols.calendar.ondayrender%28VS.80%29.aspx" id="lkfd" title="OnDayRender"&gt;OnDayRender&lt;/a&gt;.&lt;br /&gt;   &lt;br /&gt;    &lt;img src="http://docs.google.com/File?id=dcf67f7q_240hhmhsqcz" style="width: 751px; height: 140px;" /&gt;&lt;br /&gt;   &lt;br /&gt;    Bueno, con esto tendríamos nuestro control listo.&lt;br /&gt;   &lt;br /&gt;    &lt;img src="http://docs.google.com/File?id=dcf67f7q_232g92v2qfj" style="width: 228px; height: 406px;" /&gt;   &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-4222595661407192573?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/qQ63qUAIG7Q" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/qQ63qUAIG7Q/artculo-5-extendiendo-aspnet-server_24.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2008/02/artculo-5-extendiendo-aspnet-server_24.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-5515133042358789074</guid><pubDate>Mon, 10 Dec 2007 21:14:00 +0000</pubDate><atom:updated>2007-12-10T19:15:31.429-03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">NET2.0</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style=";font-family:verdana;font-size:130%;"  &gt;&lt;b&gt;[NET2.0] Crear objetos que implementen una Interface seleccionando la implementación desde un Archivo de Configuración usando Reflection&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);font-family:verdana;font-size:85%;"  &gt;&lt;u&gt;&lt;a href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span lang="es-AR"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Crear objetos dinámicamente dependiendo de un archivo de configuración es una práctica fundamental para crear aplicaciones altamente cohesivas y débilmente acopladas.  Usando esta técnica podemos cambiar módulos de una aplicación sin tener que recompilar la misma, sólo cambiamos el valor de una variable en un archivo de configuración y la aplicación comenzará a usar el nuevo módulo definido.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;span style="font-family:verdana;"&gt;Un caso muy común donde sucede esto es en los frameworks de acceso a datos. Generalmente con estos frameworks nos conectamos a diferentes fuentes de datos y sería bueno que cambiar nuestra fuente de datos sea transparente para el resto de nuestra aplicación. Esto se puede lograr mediante el uso de interfaces y de técnicas como cargar assemblies dinámicamente seleccionándolas desde archivos de configuración.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;A fines de este artículo no vamos a demostrar con un framework de acceso a datos sino con un conjunto simple de clases e interfaces.&lt;/span&gt; &lt;span style="font-family:verdana;"&gt;La idea es crear un interface, un contrato que deben respetar las clases que lo implementen. Luego crear dos clases que implementen la interface de manera diferente, en assemblies diferentes, y por último creamos una aplicación de prueba que tendrá un archivo de configuración de donde le indicaremos cual es la interface que se debe cargar.&lt;/span&gt;  &lt;span style="font-family:verdana;"&gt;Comencemos con nuestro ejemplo. Definamos una interface. Nuestra interface tiene un método &lt;/span&gt;&lt;b style="font-family: verdana;"&gt;T GetMessage(T)&lt;/b&gt;&lt;span style="font-family:verdana;"&gt; que recibe un parámetro de un tipo &lt;/span&gt;&lt;b style="font-family: verdana;"&gt;T&lt;/b&gt;&lt;span style="font-family:verdana;"&gt; y devuelve un tipo &lt;/span&gt;&lt;b style="font-family: verdana;"&gt;T&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;. No es necesario definir una interface genérica como esta, en este ejemplo se realizó así a fin de probar solamente, pero podría haberse hecho de igual manera con un tipo &lt;/span&gt;&lt;b style="font-family: verdana;"&gt;string&lt;/b&gt;&lt;span style="font-family:verdana;"&gt;.&lt;/span&gt;  &lt;/span&gt;&lt;div id="x9gl"  style="padding: 1em 0pt; text-align: left;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 318px; height: 117px;" src="http://docs.google.com/File?id=dcf67f7q_173ftsw76dx" /&gt;&lt;br /&gt;&lt;br /&gt;Ahora definamos las dos clases en dos assemblies diferentes que implementen la interface de dos maneras distintas. A los fines de este ejemplo haremos algo simple, cada clase retornará el parámetro de entrada todo en mayúsculas o todo en minúsculas junto con un mensaje.&lt;br /&gt;&lt;br /&gt;Implementación 1:&lt;br /&gt;&lt;/span&gt;&lt;div id="v5.." style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 568px; height: 271px;" src="http://docs.google.com/File?id=dcf67f7q_174gpgfmqdt" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;Implementación 2:&lt;br /&gt;&lt;/span&gt;&lt;div id="f199" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 579px; height: 274px;" src="http://docs.google.com/File?id=dcf67f7q_175g7fd9rhk" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;Tengamos en cuenta que para poder implementar estar interfaces tenemos que haber hecho previamente una referencia a la assembly (IMessageX) que tiene la interface.&lt;br /&gt;&lt;br /&gt;Ahora debemos crear un programa que use esta estas interfaces dependiendo del archivo de configuración.&lt;br /&gt;El programa tiene que tener un archivo de configuración, por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div id="sus:" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 605px; height: 152px;" src="http://docs.google.com/File?id=dcf67f7q_176ftt67shs" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:85%;"&gt;Como vemos en el archivo de configuración, para crear una instancia de una clase por &lt;b&gt;Reflection&lt;/b&gt; necesitamos 2 cosas: el path a el assembly, que lo obtenemos del valor de configuración AssemblyPath1 o AssemblyPath2 y el nombre completo de la clase que queremos instanciar incluyendo el namespace de la misma, que lo obtenemos del valor de configuración ClassName1 o ClassName2.&lt;br /&gt;&lt;br /&gt;Para leer un valor desde de un archivo de configuración usamos la clase &lt;b&gt;ConfigurationManager&lt;/b&gt; del namespace &lt;b&gt;System.Configuration&lt;/b&gt; y usamos el método estático &lt;b&gt;Get(&lt;/b&gt;"key"&lt;b&gt;)&lt;/b&gt; de la clase &lt;b&gt;AppSettings&lt;/b&gt; que es expuesta por el &lt;b&gt;ConfigurationManager&lt;/b&gt; mediante la propiedad &lt;b&gt;AppSettings&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Una vez que obtuvimos el path a la assembly, podemos levantar la assembly mediante &lt;b&gt;Reflection&lt;/b&gt;.&lt;br /&gt;Para realizar esto creamos una referencia del tipo &lt;b&gt;Assembly&lt;/b&gt; y usamos el método estático &lt;b&gt;LoadFile(&lt;/b&gt;"path"&lt;b&gt;)&lt;/b&gt; de la clase &lt;b&gt;Assembly&lt;/b&gt; que pertenece al namespace &lt;b&gt;System.Reflection&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Ahora debemos crear una instancia de la clase que implementa la interface.&lt;br /&gt;Para lo cual necesitamos el nombre completo de la clase que obtenemos del archivo de configuración, luego&lt;br /&gt;creamos una referencia del tipo de la interface, en nuestro caso, IMessageX&lt;string&gt; y por últimos usando la assembly cargada previamente creamos la instancia del objeto con el método &lt;span style="font-weight: bold;"&gt;CreateInstance(&lt;/span&gt;"classname"&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt; del objeto &lt;b&gt;Assembly&lt;/b&gt; que ya levantamos.&lt;br /&gt;Recordemos que este este método nos devuelve un &lt;b&gt;object&lt;/b&gt; y debemos castearlo al tipo de nuestra interface.&lt;br /&gt;&lt;img src="http://www.blogger.com/post-edit.g?blogID=35515711&amp;amp;postID=5515133042358789074" alt="" /&gt;&lt;/string&gt;&lt;/span&gt;&lt;div id="c9:6" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 720px; height: 429px;" src="http://docs.google.com/File?id=dcf67f7q_177ggr547cw" /&gt;&lt;br /&gt;&lt;br /&gt;Por último, para probar llamamos al método GetMessageX con el parámetro de entrada y vemos si se realizó correctamente lo que esperábamos.&lt;br /&gt;&lt;/span&gt;&lt;div id="powv" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 333px; height: 81px;" src="http://docs.google.com/File?id=dcf67f7q_1789cv4zccm" /&gt;&lt;br /&gt;&lt;br /&gt;Como vemos el resultado es el esperado, tenemos dos funcionalidades diferente para la misma interface cargadas desde 2 assemblies distintas dinámicamente seleccionadas desde un archivo de configuración.&lt;br /&gt;&lt;br /&gt;Si vemos las referencias de nuestro programa veremos que solo hay referencias a la assembly que tiene la interface (IMessageX) y no hay ninguna referencia a las implementaciones (MessageXX y MessageXY).&lt;br /&gt;&lt;/span&gt;&lt;div id="vrnf" style="padding: 1em 0pt; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img style="width: 239px; height: 230px;" src="http://docs.google.com/File?id=dcf67f7q_179g5dzt8x6" /&gt;&lt;br /&gt;&lt;br /&gt;El código de ejemplo, &lt;a href="http://ing.juanpablo.googlepages.com/LoadObjectFromConfigTester.rar"&gt;acá&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-5515133042358789074?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/g__1uiI_G3E" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/g__1uiI_G3E/net2_8592.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>1</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2007/12/net2_8592.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-6572214029650929507</guid><pubDate>Thu, 29 Nov 2007 20:14:00 +0000</pubDate><atom:updated>2008-02-24T18:04:08.376-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ajax</category><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;span style="font-family: verdana; font-weight: bold;font-size:130%;" &gt;[AJAX] Identificando Full PostBack y AJAX AsyncPostBack&lt;/span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);font-family:arial;font-size:85%;"  &gt;&lt;u&gt;&lt;a href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span lang="es-AR"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;Para aquellas personas que hayan usado AJAX ASP.NET un poco mas en profundidad que sólo arrastrar un &lt;span style="font-weight: bold;"&gt;UpdatePanel&lt;/span&gt; este artículo les va a resultar muy útil.&lt;br /&gt;Un &lt;span style="font-weight: bold;"&gt;UpdatePanel&lt;/span&gt; nos permite refrescar ciertas partes de la página, en vez refrescar la página completa usando un Full PostBack.&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Ahora depende como hayamos programado nuestra aplicación estaremos usándo AJAX de una manera más performante o no.&lt;br /&gt;Cuando se produce un evento dentro de un &lt;span style="font-weight: bold;"&gt;UpdatePanel&lt;/span&gt; o un trigger que activa un &lt;span style="font-weight: bold;"&gt;UpdatePanel&lt;/span&gt;, se ejecuta el ciclo de vida completo de una página ASP.NET pero no se refresca toda la página sino que el objeto &lt;span style="font-weight: bold;"&gt;PageRequestManager&lt;/span&gt; (client-side) se encarga de recibir el nuevo HTML y reemplazar el viejo HTML.&lt;br /&gt;Ejecutar el ciclo de vida completo de la página significa que se ejecutan todos los eventos del ciclo de vida de la pagina como ser Load,PreInit, Init, etc, etc. &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;br /&gt;Es en el evento Load donde se puede preguntar si es un Full Postback o un AJAX AsyncPostBack y definir distintas funcionalidades dependiendo de que sea uno u otro. Esto es muy importante tenerlo en cuenta ya que muchos desarrolladores solo preguntan si es un Full PostBack o si es la primera vez que se ejecuta la página y pierden la posibilidad de optimizar sus aplicaciones corriendo las funciones que necesitan para cada caso.&lt;br /&gt;Ahora, con es uso de AJAX, tenemos 3 alternativas: que sea la primera vez que se ejecuta la página, que sea un Full PostBack o que sea un AJAXAsyncPostBack.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Veremos ahora como hacer esto en el código:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0SUJmvhOBfg/R08fa9VhsmI/AAAAAAAAASE/_dmAc8mmcDc/s1600-h/Code.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_0SUJmvhOBfg/R08fa9VhsmI/AAAAAAAAASE/_dmAc8mmcDc/s400/Code.JPG" alt="" id="BLOGGER_PHOTO_ID_5138360247854936674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Como se ve en el ejemplo se consulta al objeto  &lt;span style="font-weight: bold;"&gt;ScriptManager&lt;/span&gt; para saber si es un AsyncPostBack y se consulta al objeto Page para saber si es un Full PostBack.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-6572214029650929507?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/5Iy-UgFyIfc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/5Iy-UgFyIfc/ajax-identificando-full-postback-y-ajax.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_0SUJmvhOBfg/R08fa9VhsmI/AAAAAAAAASE/_dmAc8mmcDc/s72-c/Code.JPG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2007/11/ajax-identificando-full-postback-y-ajax.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-5172489148545791273</guid><pubDate>Wed, 14 Nov 2007 13:48:00 +0000</pubDate><atom:updated>2008-02-24T18:04:54.388-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Interview</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Currículum</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">CV</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="font-weight: bold;font-family:verdana;font-size:130%;"  &gt;[MISC] Cómo hacer para que te llaman a una entrevista?&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;He quedado impactado por un training que recibí en mi trabajo sobre el tema de currículum y su importancia en el proceso de ser llamado a una entrevista. Por lo cual quisiera compartir con uds los lineamientos que nos bajo el Ing. Fabio Bustos.&lt;br /&gt;Antes que nada, la charla que recibimos tuvo una gran dinámica lo cual influyo positivamente en todos nosotros.&lt;br /&gt;&lt;br /&gt;Pero volviendo al tema, cuál es el fin que tiene un currículum? Muchos dirán es nuestra carta de presentación, un folleto de venta, etc. todo esto es válido, pero el fin principal es que nos llamen a una entrevista!!&lt;br /&gt;Pero para que esto suceda el currículum debe llegar a la persona correcta, y en ese camino para llegar a la persona correcta parara por, por ejemplo, recursos humanos, recruiting, etc, etc, etc, personas que quizá no entiendan lo que ponemos en el currículum, por ejemplo, la búsqueda laboral dice: "Conocimiento de Programación Orienta a Objetos" y nosotros ponemos en nuestro CV, "Conocimiento de POO", para un ingeniero en sistemas no debería   haber problema en darse cuenta lo que quiere decir pero para otro persona, aunque sea muy capaz en su área, por cierto, pero que no conoce la terminología, va a descartar nuestro CV por el hecho de que nosotros escribimos el CV orientado a una persona súper técnica y no pensamos en que debe pasar otras personas que quizá no son ingenieras en sistemas, así que nuestro currículum debe ser capaz de atravesar todo ellos.&lt;br /&gt;Supongamos que a esa persona, que no es el destinatario final de nuestro currículum, le llega el currículum por primera vez y también le llegan otros 300 curriculum, cuando la persona revisa los currículum descarta todos aquellos que en la primera media página no encuentra lo que está buscando, así de simple. Esto significa que nuestro currículum de 30 páginas, que nos costo horas llenarlo y mantenerlo actualizado, la primera media página tiene que ser la llave que abra las puertas hasta la persona que realmente va a leer las 30 páginas de nuestro currículum y va a entender lo que pusimos ahí, o sea, nuestro futuro jefe posiblemente.&lt;br /&gt;&lt;br /&gt;Por eso una de las cosas que primero debemos hacer es identificar el target de nuestro currículum, y adaptar nuestro el mismo para cada una de las ocasiones. Generalmente tenemos un currículum standart y cada vez que buscamos trabajo mandamos nuestro currículum como si fuera un SPAM. No, No, grave error, debemos primero adaptar nuestro currículum a la búsqueda en que estamos interesados en ser encontrados. Con "adaptar" no quiero decir mentir ni engordar nuestro currículum porque al momento que se den cuenta de nuestra mentira, automáticamente quedaremos marcados para todo el viaje, recordemos que una persona que tiene una buena impresión se lo cuenta a otra pero una persona que tiene mala impresión se lo cuenta a otras siete personas, así que de mentir por favor nada.&lt;br /&gt;&lt;br /&gt;Teniendo esto en claro, pasamos a la estructura de nuestro CV. Como párrafo inicial podríamos poner una breve descripción de que conocimientos tenemos que sea matchean con el puesto para el cual nos postulamos, con lo cual le informamos a la persona que lee que tenemos capacidades que sirvan para el puesto que ellos buscan. Con esto logramos que lean las siguientes lineas y evitamos que nuestro CV termine en el tacho de basura.&lt;br /&gt;&lt;br /&gt;Luego podríamos poner algunos Strenghs, aquí debemos ser cuidadosos, deberíamos utilizar verbos y sustantivos, nunca adjetivos, dejemos que los adjetivos los deberían poner otros y no nosotros mismos. Por ejemplo poner cosas como Commitment, no sirve de nada, es obvio que van a querer contratar una persona con commitment. O poner Initiative, es obvio que van a querer contratar una persona con iniciativa, no van a contratar una persona que le tengan que andar arreando para hacer algo. Poner Integrity, es obvio que no van a contratar un ladrón. O Quick Learning, es obvio que no van a contratar una persona que le lleve tres años para aprender algo. Un bueno ejemplo de que poner seria, problem solving skills, o algo así.&lt;br /&gt;&lt;br /&gt;Todo CV tendrá experiencia laboral, así como logros académicos y demás. Lo importante de todo esto es ordenarlos por fecha, lo mas actual es lo mas relevante, generalmente a la gente le importa poco lo que hicimos hace 10 años atrás, posiblemente ya no hayamos olvidado, por lo cual lo mas importante es lo mas actual. También cuenta este mismo concepto si queremos agregar una breve descripción, a lo mas nuevo podemos hacerle una descripción mas detallada y a lo mas antiguo una descripción mas breve.&lt;br /&gt;&lt;br /&gt;Como conclusión podríamos decir que antes de enviar un CV, deberíamos orientarlo al mercado que apunta, poner solo lo relevante, ordenarlo cronológicamente de lo mas nuevo a lo mas viejo, explicar mas detalladamente lo mas nuevo, identificar las posibles personas que van a leer nuestro CV, identificar claramente una dirección y teléfono de contacto en la primera página, destacar cuales son las características que tenemos que coinciden con la búsqueda que se esta realizando pero sin mentir, engordar, timar.&lt;br /&gt;&lt;br /&gt;Créditos al Ing. Fabio Bustos.&lt;br /&gt;&lt;br /&gt;Saludos.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-5172489148545791273?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/UMQNczCWnzQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/UMQNczCWnzQ/misc-cmo-hacer-para-que-te-llaman-una.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2007/11/misc-cmo-hacer-para-que-te-llaman-una.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-7924752888005284370</guid><pubDate>Wed, 24 Oct 2007 20:41:00 +0000</pubDate><atom:updated>2008-02-24T18:04:34.463-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Ajax</category><category domain="http://www.blogger.com/atom/ns#">ASP.NET</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;h1 style="font-family: Verdana;"&gt;   &lt;span style="font-size:85%;"&gt;[AJAX]Tecnología AJAX &lt;/span&gt; &lt;/h1&gt; &lt;p class="western"  style="margin-bottom: 0.2in;font-family:Verdana;"&gt;   &lt;span style="font-size:85%;"&gt;&lt;a name="oie6"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000080;"&gt;&lt;u&gt;&lt;a href="http://ing.juanpablo.googlepages.com/"&gt;&lt;span lang="es-AR"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0.2in; font-family: Verdana;" lang="es-AR"&gt;   &lt;span style="font-size:85%;"&gt;Luego del boom de los .com, la web entró en una meseta hasta el   año 2005 donde renació con lo que hoy es conocido como Web 2.0. Este   resurgimiento ha sido fomentado, entre otras cosas, por cambio en el paradigma   en la forma en que se publican los datos, la mejora en las telecomunicaciones   y las nuevas tecnologías como AJAX que fomentaron a que el nuevo modelo de web   sea mas interactivo y le permita al usuario tener una experiencia mas rica y   mas interactiva con los contenidos a los cuales está accediendo.&lt;br /&gt; &lt;br /&gt;  Hoy ya no son los editores de contenidos quienes publican la información y el   resto de la comunidad es un mero espectador, sino que es la comunidad misma la   que crea, participa y juzga el contenido de los portales. Pero estas nuevas   activadas, que ahora realiza la comunidad, deben ir acompañadas por mejoras   tecnológicas que permitan, a gente que no es experta en sistemas informáticos,   realizarlas de una manera sencilla, simple, dinámica y productiva.&lt;br /&gt; &lt;br /&gt;  Las tecnologías AJAX están presentes en las interfaces gráficas de GMAIL,   MySpace, Knowii, Meebo, entre otras.&lt;br /&gt; &lt;br /&gt;  AJAX es el acrónimo de Asynchronous Javascript and XML y es una técnica de   programación donde se combinan y se explotan tecnologías ya existentes como   JavaScript y XML, para lograr enviar y recibir mensajes en segundo plano sin   que el usuario note que la pagina web que navegando esta procesando algunas   tareas, es decir sin que se realicen postbacks. El uso adecuado de AJAX trae   como consecuencia un aumento considerable de la usabilidad, productividad,   velocidad y tiempo de respuesta de un sitio web.&lt;/span&gt; &lt;/p&gt; &lt;h3 class="western" style="margin-left: 0.06in; font-family: Verdana;" lang="es-AR"&gt;   &lt;span style="font-size:85%;"&gt;AJAX ASP.NET Framework &lt;/span&gt; &lt;/h3&gt; &lt;p class="western"  style="margin-bottom: 0.2in;font-family:Verdana;"&gt;   &lt;span style="font-size:85%;"&gt;&lt;span lang="es-AR"&gt;Uno de los frameworks de AJAX mas usados es AJAX   ASP.NET, que será el usado en este artículo a modo de ejemplificación para   mostrar algunas de las tareas que podemos realizar con esta tecnología.&lt;br /&gt; &lt;br /&gt;  Este framework permite implementar AJAX en sitios ASP.NET mediante el uso de   controles de servidor. Siguiendo con la forma de trabajo de ASP.NET, los   desarrolladores programan sus aplicaciones de la manera convencional y cuando   desean usar una funcionalidad AJAX solo debe agregar unos de los controles que   las extensiones AJAX ASP.NET proveen y el framework se encarga de realizar la   generación del Javascript correspondiente para realizar los procesos en   segundo plano.&lt;br /&gt;  También existe la posibilidad de usar este framework mas a fondo, optimizando   el rendimiento, programando ciertas tareas desde Javascript combinando con   Servicios Web para evitar el procesado completo del ciclo de vida de una   pagina ASP.NET.&lt;br /&gt; &lt;br /&gt;  Es un framework muy potente, que si integra perfectamente con Visual Studio y   ASP.NET 2.0, y también cuenta con un AjaxControlToolkit, que es un conjunto de   controles que permiten llevar la interactividad al máximo.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 class="western" style="margin-left: 0.06in; font-family: Verdana;" lang="es-AR"&gt;   &lt;span style="font-size:85%;"&gt;Utilizando AJAX ASP.NET Framework en un caso real &lt;/span&gt; &lt;/h3&gt; &lt;p class="western"  style="margin-bottom: 0.2in;font-family:Verdana;"&gt;   &lt;span style="font-size:85%;"&gt;&lt;span lang="es-AR"&gt;Utilizando este framework es muy interesante,   entre otras cosas, obtener datos de un servicio web asíncronamente y devolver   el resultado del mismo sin hacer un postback de la página, optimizando el   rendimiento y llevando el uso del framework a su máximo poder.&lt;br /&gt; &lt;br /&gt;  Supongamos que tenemos un conjunto de web services que resuelven nuestra   lógica de negocios, se encargan de interactuar con la base de datos, resolver   las reglas de negocio, etc. Solo queda por hacer un front-end que obtenga los   datos que se desean presentar desde el servicio web.&lt;br /&gt; &lt;br /&gt;  El webservice que usaremos de ejemplo recibe por parámetro, por ejemplo, un   nombre, y devuelve "Hola + parámetro".&lt;br /&gt;  Por lo que nuestro cliente del webservice tiene un textbox donde ingresar el   nombre, un botón para solicitar la respuesta del webservice y un label donde   se mostrara la respuesta. La idea es evitar el postback al presionar el botón   y mostrar el resultado en el label asíncronamente sin refrescar la página   completa.&lt;br /&gt; &lt;br /&gt;  Podríamos consumir el webservice sin hacer uso de AJAX, simplemente, creando   una webreference en nuestro proyecto del cliente y en el evento Click del   botón hacer la llamada al webservice y setear el resultado en el label, pero   esto nos implicaría un full postback de la pagina.&lt;br /&gt; &lt;br /&gt;  La solución para implementar AJAX en una llamada a un webservice es hacer uso   del ASP.NET AJAX Framework, combinado con JavaScript del lado del cliente para   hacer la llamada al webservice y para la actualización del label con el   resultado.&lt;br /&gt;  Analicemos esta solución paso por paso.&lt;br /&gt; &lt;br /&gt;  Lo primero que debemos hacer es indicarle al webservice como debe responder a   una llamada JavaScript. Para esto debemos primero modificar el web.config de   nuestro proyecto que tiene el webservice agregándole algunas   configuraciones.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;div  style="font-family:Verdana;"&gt;   &lt;table id="uklg" border="1" border cellpadding="3" cellspacing="0" width="100%" style="color:#000000;"&gt;     &lt;tbody&gt;     &lt;tr&gt;       &lt;td width="100%"&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:maroon;"&gt;xml&lt;/span&gt;           &lt;span style="color:red;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;1.0&lt;/span&gt;"&lt;span style="color:blue;"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;configuration&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;configSections&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;sectionGroup&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;system.web.extensions&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.SystemWebExtensionsSectionGroup,           System.Web.Extensions,            &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;Version=1.0.61025.0, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;sectionGroup&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;scripting&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingSectionGroup,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                  &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;section&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;scriptResourceHandler&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingScriptResourceHandlerSection,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"           &lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"           &lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                  &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;sectionGroup&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;webServices&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingWebServicesSectionGroup,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                        &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;section&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;jsonSerialization&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingJsonSerializationSection,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"           &lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"           &lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;Everywhere&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                        &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;section&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;profileService&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingProfileServiceSection,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"           &lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"           &lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                        &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;section&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;authenticationService&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Configuration.ScriptingAuthenticationServiceSection,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"           &lt;span style="color:red;"&gt;requirePermission&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"           &lt;span style="color:red;"&gt;allowDefinition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;MachineToApplication&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;  &amp;amp;nbsp;                               &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;sectionGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;sectionGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;sectionGroup&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;configSections&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;system.web&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;pages&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;controls&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                  &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;tagPrefix&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;asp&lt;/span&gt;"           &lt;span style="color:red;"&gt;namespace&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.UI&lt;/span&gt;"           &lt;span style="color:red;"&gt;assembly&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Extensions,           Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;controls&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;pages&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;compilation&lt;/span&gt;           &lt;span style="color:red;"&gt;debug&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;true&lt;/span&gt;"&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;assemblies&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                  &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;assembly&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Extensions,           Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;assemblies&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;compilation&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;httpHandlers&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;remove&lt;/span&gt;           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*.asmx&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*.asmx&lt;/span&gt;"           &lt;span style="color:red;"&gt;validate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Script.Services.ScriptHandlerFactory,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*_AppService.axd&lt;/span&gt;"           &lt;span style="color:red;"&gt;validate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Script.Services.ScriptHandlerFactory,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;GET,HEAD&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptResource.axd&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Handlers.ScriptResourceHandler,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"           &lt;span style="color:red;"&gt;validate&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;httpHandlers&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;httpModules&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptModule&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Handlers.ScriptModule,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;httpModules&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;system.web&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;system.webServer&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;validation&lt;/span&gt;           &lt;span style="color:red;"&gt;validateIntegratedModeConfiguration&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;false&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;modules&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptModule&lt;/span&gt;"           &lt;span style="color:red;"&gt;preCondition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;integratedMode&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Handlers.ScriptModule,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;modules&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                      &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;handlers&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;remove&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;WebServiceHandlerFactory-Integrated&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptHandlerFactory&lt;/span&gt;"           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*.asmx&lt;/span&gt;"           &lt;span style="color:red;"&gt;preCondition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;integratedMode&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Script.Services.ScriptHandlerFactory,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptHandlerFactoryAppServices&lt;/span&gt;"           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;*_AppService.axd&lt;/span&gt;"           &lt;span style="color:red;"&gt;preCondition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;integratedMode&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Script.Services.ScriptHandlerFactory,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                            &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;add&lt;/span&gt;           &lt;span style="color:red;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptResource&lt;/span&gt;"           &lt;span style="color:red;"&gt;preCondition&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;integratedMode&lt;/span&gt;"           &lt;span style="color:red;"&gt;verb&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;GET,HEAD&lt;/span&gt;"           &lt;span style="color:red;"&gt;path&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;ScriptResource.axd&lt;/span&gt;"           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;"&lt;span style="color:blue;"&gt;System.Web.Handlers.ScriptResourceHandler,           System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,           PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                                &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;handlers&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;                &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;system.webServer&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-family:Times New Roman;font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;configuration&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&lt;span style="font-family: Times New Roman;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/div&gt; &lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;span lang="es-AR"&gt;Este seria el web.config completo que deberíamos tener. Con este web.config nuestro webservices seguirán funcionando si los invocamos con SOAP pero también podrán ser invocados desde JavaScript.&lt;br /&gt;&lt;br /&gt;El siguiente paso de decorar el webservice agregando lo siguiente:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;/span&gt; &lt;div  style="font-family:Verdana;"&gt;   &lt;table id="ij-l" border="1" border cellpadding="3" cellspacing="0" width="100%" style="color:#000000;"&gt;     &lt;tbody&gt;     &lt;tr&gt;       &lt;td width="100%"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt;[System.Web.Script.Services.ScriptService()]&lt;/span&gt;&lt;/span&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/div&gt; &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;span lang="es-AR"&gt;El código completo del webservice nos debería haber quedado de la siguiente forma:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;div  style="font-family:Verdana;"&gt;   &lt;table id="v7-z" border="1" border cellpadding="3" cellspacing="0" width="100%" style="color:#000000;"&gt;     &lt;tbody&gt;     &lt;tr&gt;       &lt;td width="100%"&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; System;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; System.Web;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;           System.Collections;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;           System.Web.Services;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt;           System.Web.Services.Protocols;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt; &lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;[&lt;span style="color:teal;"&gt;WebService&lt;/span&gt;(Namespace =           &lt;span style="color:maroon;"&gt;"http://tempuri.org/"&lt;/span&gt;)]&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;[&lt;span style="color:teal;"&gt;WebServiceBinding&lt;/span&gt;(ConformsTo           = &lt;span style="color:teal;"&gt;WsiProfiles&lt;/span&gt;.BasicProfile1_1)]&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt;[System.Web.Script.Services.ScriptService()]&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;           &lt;span style="color:blue;"&gt;class&lt;/span&gt;           &lt;span style="color:teal;"&gt;SimpleService&lt;/span&gt; :           System.Web.Services.&lt;span style="color:teal;"&gt;WebService&lt;/span&gt; {&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt; &lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;    &lt;span style="color:blue;"&gt;public&lt;/span&gt;           SimpleService (){}&lt;br /&gt;          &lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt; &lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;              [&lt;span style="color:teal;"&gt;WebMethod&lt;/span&gt;]&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;    &lt;span style="color:blue;"&gt;public&lt;/span&gt;           &lt;span style="color:blue;"&gt;string&lt;/span&gt;           SayHello(&lt;span style="color:teal;"&gt;String&lt;/span&gt; inStr) {&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;                  &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:maroon;"&gt;"Hello :           "&lt;/span&gt; + inStr + &lt;span style="color:maroon;"&gt;"; Thanks for           visiting."&lt;/span&gt;;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;    }&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;}&lt;/span&gt;         &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/div&gt; &lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;span lang="es-AR"&gt;Hasta este momento hemos preparado todos nuestros componentes del lado del servidor para que sean capaces de responder la llamada JavaScript que se le hará al webservice, en otras palabras, tenemos un AJAX-Enabled WebService.&lt;br /&gt;&lt;br /&gt;Ahora debemos crear un cliente para probar este AJAX-Enabled WebService. Recordemos que no necesitamos crear una webreference.&lt;br /&gt;Lo primero que debemos hacer es agregar un ScriptManager a la pagina .aspx.&lt;br /&gt;El ScriptManager es un componente que forma parte de las extensiones que se agregan a ASP.NET 2.0 para crear aplicaciones AJAX.&lt;br /&gt;El ScriptManager es el encargado de enviar dinámicamente el código JavaScript que el cliente necesita para realizar todas las funcionalidad que nos permite hacer el AJAX ASP.NET Framework.&lt;br /&gt;El conjunto completo de componentes que tenemos disponibles cuando agregamos el ASP.NET AJAX Framework son ScriptManager, ScriptManagerProxy, Timer, UpdatePanel y UpdateProgress.&lt;br /&gt;&lt;br /&gt;Necesitamos agregar controles, pero no vamos a utilizar controles del servidor, no son necesarios, utilizaremos controles HTML puros.&lt;br /&gt;Nuestra página .aspx debería tener esta estructura:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;/span&gt; &lt;div  style="font-family:Verdana;"&gt;   &lt;table id="y1x9" border="1" border cellpadding="3" cellspacing="0" height="314" width="949" style="color:#000000;"&gt;     &lt;tbody&gt;     &lt;tr&gt;       &lt;td width="100%"&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&amp;lt;%&lt;/span&gt;&lt;span style="color:blue;"&gt;@&lt;/span&gt;           &lt;span style="color:maroon;"&gt;Page&lt;/span&gt;           &lt;span style="color:red;"&gt;Language&lt;/span&gt;&lt;span style="color:blue;"&gt;="C#"&lt;/span&gt;           &lt;span style="color:red;"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color:blue;"&gt;="true"&lt;/span&gt;           &lt;span style="color:red;"&gt;CodeFile&lt;/span&gt;&lt;span style="color:blue;"&gt;="Default.aspx.cs"&lt;/span&gt;           &lt;span style="color:red;"&gt;Inherits&lt;/span&gt;&lt;span style="color:blue;"&gt;="_Default"&lt;/span&gt;           &lt;span style="background: yellow none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="background: yellow none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;&lt;br /&gt;          &lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color:maroon;"&gt;DOCTYPE&lt;/span&gt;           &lt;span style="color:red;"&gt;html&lt;/span&gt; &lt;span style="color:red;"&gt;PUBLIC&lt;/span&gt;           &lt;span style="color:blue;"&gt;"-//W3C//DTD XHTML 1.1//EN"&lt;/span&gt;           &lt;span style="color:blue;"&gt;"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;html&lt;/span&gt;           &lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;head&lt;/span&gt;           &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Head1"&lt;/span&gt;           &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;              &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;Untitled           Page&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;head&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;body&lt;/span&gt;           &lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="text-align:           center"&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;              &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;form&lt;/span&gt;           &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="form1"&lt;/span&gt;           &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;              &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;div&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:maroon;"&gt;ScriptManager&lt;/span&gt;           &lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="ScriptManager1"&lt;/span&gt;           &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&amp;gt;&lt;/span&gt;                     &lt;br /&gt;          &lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:maroon;"&gt;ScriptManager&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;input&lt;/span&gt;           &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Text1"&lt;/span&gt;           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text"&lt;/span&gt;           &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;input&lt;/span&gt;           &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Button1"&lt;/span&gt;           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="button"&lt;/span&gt;           &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;="button"/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;                &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;input&lt;/span&gt;           &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Text2"&lt;/span&gt;           &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text"&lt;/span&gt;           &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;div&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;              &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;form&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;body&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;html&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/div&gt; &lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;Debemos indicarle al ScriptManager cual es el path al webservice, por lo que agregaremos el webservice a la colección de webservices del ScriptManager de la siguiente forma:&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;/span&gt; &lt;div  style="font-family:Verdana;"&gt;   &lt;table id="s7yx" border="1" border cellpadding="3" cellspacing="0" width="100%" style="color:#000000;"&gt;     &lt;tbody&gt;     &lt;tr&gt;       &lt;td width="100%"&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:maroon;"&gt;ScriptManager&lt;/span&gt;           &lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="ScriptManager1"&lt;/span&gt;           &lt;span style="color:red;"&gt;runat&lt;/span&gt;="server"&amp;gt;&lt;br /&gt;          &lt;span style="color:blue;"&gt; &amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;Services&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;              &lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:maroon;"&gt;ServiceReference&lt;/span&gt;           &lt;span style="color:red;"&gt;Path&lt;/span&gt;&lt;span style="color:blue;"&gt;="SimpleService.asmx"&lt;/span&gt;           &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;Services&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;         &lt;p class="MsoNormal"&gt;           &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color:maroon;"&gt;ScriptManager&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;         &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/div&gt; &lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-family: Verdana;font-size:85%;" &gt;&lt;span lang="es-AR"&gt;Ahora hemos indicado al ScriptManager que el código va a llamar a un webservice vía JavaScript, entonces el ScriptManager le solicita al servidor que le envié el código JavaScript necesario para conectarse al webservice, esto nos ahorra escribir todo el código JavaScript necesario para conectarnos a un webservices, como por ejemplo, crear a mano un objeto XmlHttpRequest y demás.&lt;br /&gt;&lt;br /&gt;Ahora crearemos una función en JavaScript que será ejecutada en el evento onclick del botón que agregamos a nuestra pagina HTML. La llamada al webservice no se hace directamente llamando al método sino que se hace a través de un proxy. También queremos hacer esta llamada asíncrona para no tener que detener la ejecución de la aplicación hasta que el webservice nos devuelva la información que le solicitamos.&lt;br /&gt;Debemos agregar código JavaScript a nuestra pagina .aspx de la siguiente forma:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;/span&gt; &lt;div  style="font-family:Verdana;"&gt;   &lt;div&gt;     &lt;table id="fzix" border="1" border cellpadding="3" cellspacing="0" width="100%" style="color:#000000;"&gt;       &lt;tbody&gt;       &lt;tr&gt;         &lt;td width="100%"&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;script&lt;/span&gt;             &lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;="javascript"&lt;/span&gt;             &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text/javascript"&amp;gt;&lt;/span&gt;&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&amp;lt;!--&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;             Button1_onclick() {&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;ret =             SimpleService.SayHello(document.getElementById(&lt;span style="color:maroon;"&gt;'Text1'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;).value,             OnComplete, OnTimeOut, OnError);&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;(&lt;span style="color:blue;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;}&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt; &lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;             OnComplete(args) {&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;document.getElementById(&lt;span style="color:maroon;"&gt;'Text2'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;).innerText             = args;&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;}&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;br /&gt;            &lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;             OnTimeOut(args) {&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;alert(&lt;span style="color:maroon;"&gt;"Service call timed             out."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;}&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt; &lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;             OnError(args) {&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;alert(&lt;span style="color:maroon;"&gt;"Error calling service             method."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;}&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:green;"&gt;// --&amp;gt;&lt;/span&gt;&lt;/span&gt;           &lt;/p&gt;           &lt;p class="MsoNormal"&gt;             &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:maroon;"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;           &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;       &lt;/tbody&gt;     &lt;/table&gt;   &lt;/div&gt; &lt;/div&gt; &lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-family: Verdana;font-size:85%;" &gt;&lt;span lang="es-AR"&gt;Recordemos que no estamos llamando al método SayHello directamente sino que lo hacemos a través de un proxy que recibe algunos otros parámetros más que el string que recibe el método SayHello.&lt;br /&gt;El primer parámetro es el del método SayHello, por lo cual le pasamos el contenido de la caja de texto.&lt;br /&gt;El segundo parámetro es el nombre de la función JavaScript que será llamada cuando el webservice nos devuelva exitosamente la información que le solicitamos de manera asíncrona.&lt;br /&gt;El tercer parámetro es el nombre de la función JavaScript que será llamada en el caso que el webservice no responda.&lt;br /&gt;El cuarto parámetro es el nombre de la función JavaScript que será llamada en el caso que se produzca un error, esto significa que el webservice atendió mi petición pero no puedo responder debido a un error.&lt;br /&gt;&lt;br /&gt;En la función OnComplete, parseamos la respuesta del webservice en nuestro caso, solamente asignamos el texto que nos envió el webservice al label donde queremos mostrar la respuesta en la página.&lt;br /&gt;&lt;br /&gt;Por ultimo debemos agregar que función debe llamarse al ejecutarse el evento onclick del botón.&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;    &lt;/span&gt; &lt;div style="font-family: Verdana;"&gt;   &lt;table id="hexn" border="1" border cellpadding="3" cellspacing="0" width="100%" style="color:#000000;"&gt;     &lt;tbody&gt;     &lt;tr&gt;       &lt;td width="100%"&gt;         &lt;span style="font-size:85%;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon;"&gt;input&lt;/span&gt;         &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Button1"&lt;/span&gt;         &lt;span style="color:red;"&gt;style&lt;/span&gt;&lt;span style="color:blue;"&gt;="width:         193px"&lt;/span&gt;         &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="button"&lt;/span&gt;         &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;="button"&lt;/span&gt;         &lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;="javascript"&lt;/span&gt;         &lt;span style="color:red;"&gt;onclick&lt;/span&gt;&lt;span style="color:blue;"&gt;="return         Button1_onclick()"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;/tbody&gt;   &lt;/table&gt; &lt;/div&gt; &lt;span style="font-family: Verdana;font-size:85%;" &gt;&lt;span lang="es-AR"&gt;&lt;br /&gt;En este momento tendríamos el cliente que va a consumir el webservice listo.&lt;/span&gt;&lt;/span&gt; &lt;h3 class="western" style="margin-left: 0.06in; font-family: Verdana;" lang="es-AR"&gt;   &lt;span style="font-size:85%;"&gt;Conclusiones &lt;/span&gt; &lt;/h3&gt; &lt;p class="western" style="margin-bottom: 0.2in; font-family: Verdana;"&gt;   &lt;span style="font-size:85%;"&gt;&lt;span lang="es-AR"&gt;Muchas son las ventajas de utilizar este   framework pero las más importantes son: implementar aplicaciones AJAX   altamente performantes, reutilizar los webservice que ya tenemos creados y   crear fácilmente aplicaciones ricas para el usuario mejorando la productividad   y la performance.&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;h3 class="western" style="margin-left: 0.06in; font-family: Verdana;" lang="es-AR"&gt;   &lt;span style="font-size:85%;"&gt;Recursos &lt;/span&gt; &lt;/h3&gt; &lt;p class="western" style="font-family: Verdana;"&gt;   &lt;span style="font-size:85%;"&gt;&lt;a name="bwte"&gt;&lt;/a&gt;&lt;span lang="es-AR"&gt;Para bajar el AJAX ASP.NET   Framework:&lt;br /&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000080;"&gt;&lt;u&gt;&lt;a href="http://asp.net/ajax/downloads/"&gt;&lt;span lang="es-AR"&gt;http://asp.net/ajax/downloads/&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span lang="es-AR"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;span style="font-size:85%;"&gt;                      &lt;span style="font-family:Verdana;"&gt; &lt;/span&gt;          &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-7924752888005284370?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/iM-dQo7xN8o" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/iM-dQo7xN8o/tecnologa-ajax.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>1</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2007/10/tecnologa-ajax.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-2926716737279724904</guid><pubDate>Mon, 30 Jul 2007 00:52:00 +0000</pubDate><atom:updated>2008-02-24T18:04:44.389-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">NXT</category><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">MINDSTORM</category><category domain="http://www.blogger.com/atom/ns#">LEGO</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt;[NXT] Lego Mindstorm&lt;/span&gt;&lt;br /&gt;Hola, este es mi primer post sobre mi NXT, luego de muchos problemas para conseguirlo al fin llegó. No tardé mucho en armar el Tribot, el primer modelo que sugiere LEGO que armemos. Luego de haberlo armado pude conectarlo via bluetooth sin ningún problema. El bluetooth que tengo es uno que me vino con un celular motorola. El modelo es MOTOROLA SYN0717A. Por ahora sólo creé algunos programas simples, con el lenguage gráfico que trae el software de LEGO, es bastante completo, asique estoy leyendo la ayuda para saber cuales son todas las funciones que tiene. La idea es luego programarlo desde C#.&lt;br /&gt;&lt;br /&gt;Aca les dejo unas fotos de mi Tribot:&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0SUJmvhOBfg/Rq06_pQ__6I/AAAAAAAAAKQ/mpCrgc3IcHE/s1600-h/Tribot2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_0SUJmvhOBfg/Rq06_pQ__6I/AAAAAAAAAKQ/mpCrgc3IcHE/s400/Tribot2.JPG" alt="" id="BLOGGER_PHOTO_ID_5092791618709225378" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0SUJmvhOBfg/Rq06_ZQ__5I/AAAAAAAAAKI/4gIE8gwHl3c/s1600-h/Tribot1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_0SUJmvhOBfg/Rq06_ZQ__5I/AAAAAAAAAKI/4gIE8gwHl3c/s400/Tribot1.JPG" alt="" id="BLOGGER_PHOTO_ID_5092791614414258066" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-2926716737279724904?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/HaHtR79bb0Y" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/HaHtR79bb0Y/hola-este-es-mi-primer-post-sobre-mi.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_0SUJmvhOBfg/Rq06_pQ__6I/AAAAAAAAAKQ/mpCrgc3IcHE/s72-c/Tribot2.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2007/07/hola-este-es-mi-primer-post-sobre-mi.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-35515711.post-116137222277495495</guid><pubDate>Fri, 20 Oct 2006 19:18:00 +0000</pubDate><atom:updated>2008-02-24T18:04:54.389-02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Juan Pablo Ibañez</category><category domain="http://www.blogger.com/atom/ns#">Córdoba</category><category domain="http://www.blogger.com/atom/ns#">Argentina</category><title /><description>&lt;p&gt;&lt;span style="font-weight: bold;"&gt;[MISC] Bienvenidos!&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Bienvenidos a mi blog, no hay mejor forma de comenzarlo,&lt;br /&gt;que con una propaganda que te pone los pelos de punta,&lt;br /&gt;para recordar de donde venimos y forjar hacia donde vamos!&lt;/p&gt;&lt;p&gt;Bendito sea el mundial con que soñamos,&lt;br /&gt;bendito cada nombre que ha sido designado,&lt;br /&gt;bendito los pibes que siempre sacamos,&lt;br /&gt;el peso de la historia,el respeto ganado,&lt;br /&gt;maldito sean los recuerdos dolorosos,&lt;br /&gt;maldita la impotencia y la injusticia que vivimos,&lt;br /&gt;el volvermos a casa cada uno por su lado,&lt;br /&gt;las finales sin jugar, el quedar en el camino,&lt;br /&gt;bendita la anestecia generel a los dolores,&lt;br /&gt;las tristesas que curamos con abrazos,&lt;br /&gt;las gargantas que se rompen por los goles,&lt;br /&gt;el sentirnos los mejores por un rato,&lt;br /&gt;malditos los sorteos y los grupos de la muerte,&lt;br /&gt;los controles sin azar que signaron nuestra suerte,&lt;br /&gt;malditos los mezquinos que juegan sin poesia,&lt;br /&gt;los que pegan, los que envidian, los que rompen y lastiman,&lt;br /&gt;bendito sea el orgullo con que entramos a la cancha,&lt;br /&gt;el potrero y la pelota no se manchan,&lt;br /&gt;la tv que repite la gambeta,&lt;br /&gt;inflar las redes de los otros,&lt;br /&gt;inflar el pecho de los nuestros,&lt;br /&gt;merecer la camitesa,&lt;br /&gt;los turistas, los cronistas, los sponsors, los amigos, el himno,&lt;br /&gt;las mujeres siguiendo los partidos,&lt;br /&gt;benditas las cabalas que dan resultado,&lt;br /&gt;las risas y el llando que guardaremos tanto,&lt;br /&gt;y bendito ese momento que nos regala el futbol,&lt;br /&gt;de poder cambiar nuestro destino y sentir otra vez,&lt;br /&gt;y frente al mundo,lo glorioso y lo groso de ser argentino.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;script expr:src='"http://feeds.feedburner.com/~s/ingjuanpablo?i=" + data:post.url' type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35515711-116137222277495495?l=ingjuanpablo.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ingjuanpablo/~4/rFlZzoJMoIM" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/ingjuanpablo/~3/rFlZzoJMoIM/bienvenidos-mi-blog-no-hay-mejor-forma.html</link><author>noreply@blogger.com (Ing.JuanPablo)</author><thr:total>0</thr:total><feedburner:origLink>http://ingjuanpablo.blogspot.com/2006/10/bienvenidos-mi-blog-no-hay-mejor-forma.html</feedburner:origLink></item></channel></rss>

