Está en la página 1de 5

http://www.dotnetcr.com/recurso.aspx?

id=112&tag=jquery-slider-de-forma-dinamica-conaspnet

I have been spending much time in recent months building ASP.NET websites with jquery as the JavaScript library framework. From these projects I was able to learn much about how to interact jquery with ASP.NET. In this post I will share of the solutions. If you have been coding AJAX apps for a while, you probably got over doing just simple animations and AJAX requests and now you want to do more than that. I call this the level two of AJAX development. The characteristics are when you start using POST as an AJAX method and JSON as your data format for response. OK, enough theory, lets get our hands dirty: Lets take a practical scenario, you are building a social networking site, and you want to do a simple add to my friends functionality to a page that lists your users. Two things need to happened, after you click the add a friend button, the user needs to disappear from the list (he/she is your friend now, so is being moved to the friends list), second you need to reflect this change in the database. Hiding friend after the click: In jquery this is really simple, you can use the .hide() method. The only tricky part is the assign some kind of unique ID that will tell the click event which wrapper div to hide. I one of the easiest ways to do this is you can hide the variable into one of the elements properties: (id, href, or title)
$(document).ready(function(){ $(".add_friend").click(function(){ var strId = $(this).attr("id"); strId = strId.slice(1); $("#" + arrS[1]).hide(); return false; }); });

And here is the HTML part:


<div id="id_123"> <!-Whatever user info you want here... --> </div> <a href="#id_123" class="add_friend">add to my friends</a>

Changing of the server: writing the change to the database:

Now we are getting to the POST method. Despite the confusions going around, ding a post in AJAX as simple doing get. It is just one of the properties of the XMLHTTP request. Instead of putting the pairs of values in the query string, you just put it inside of the objects. I have seen developers trying to write HTML of a form inside of IFRAMES nope thats not how you do it. Lastly as you are posting to another page, you need to catch you value pars on the page. In ASP.NET is very easy: instead of request.querystring(id) which you would be using in your GET method, you just use request.form(id) Here an example what the JavaScript would look like:
$(document).ready(function(){ $(".add_friend").click(function(){ var strId = $(this).attr("id"); strId = strId.slice(1); $.post("ajax_post.aspx", { m: "SharePhoto", p: arrS[1], p2: arrS[2], p3: arrS[1]}, function(data){ }); return false; }); });

This is how you would be catching the variables on the ASP.NET pag
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load strMethod = Request.Form("m") 'm = method strProperty = Request.Form("p") 'p = property1 strProperty2 = Request.Form("p2") 'p = property2 strProperty3 = Request.Form("p3") 'p = property3 End Sub

Tomando decisiones. ASP.NET AJAX, ExtJS, jQuery, y otros sucedneos para la Web RIA
Introduccin En los ltimos meses me he estado "rompiendo" la cabeza de una forma exagerada con respecto a la programacin de aplicaciones Web con ASP.NET, pero sobre todo debido a que debo abordar diferentes proyectos y la toma de decisiones afecta a muchas variantes que no es cuestin de explicar detenidamente aqu.

Indudablemente, mi mente est puesta de forma inicial en AJAX y en RIA dejando de lado el tradicional desarrollo de aplicaciones Web (de las de toda la vida), y es ah justamente donde empiezan mis problemas. Por un lado Microsoft Silverlight me encanta con respecto a algunos de sus competidores, pero hasta que no estuviera soportado en cualquier entorno de ejecucin y en cualquier navegador, no terminara de satisfacer mis necesidades. As que Microsoft Silverlight puede ser ejecutado en cualquier navegador Web, y los problemas surgen entonces con la indexacin de bsquedas de cara a los buscadores Web y con el soporte a diferentes entornos de ejecucin. Con esta tesitura inicial, me veo obligado a redirigir mis pensamientos y esfuerzos hacia otra direccin. La direccin que me he marcado es la programacin tradicional de toda la vida con orientacin AJAX pura. La interactuacin del usuario es para m fundamental y que el refresco de la informacin dentro de la aplicacin Web no fuerce el refresco de toda la aplicacin Web sino solo de la parte de la aplicacin que debe ser refrescada. En otras palabras, acercar la RIA al usuario. Las dudas Y aqu como no, aparecen nuevas dudas. He estado mirando si es mejor o podra ser mejor ponerse manos a la obra con los controles AJAX de Microsoft o no, pero una vez ms, no terminan de satisfacer mis ansias por tener una aplicacin que ofrezca una experiencia rica al usuario y se convierta a una RIA pura. Ayudan, pero no termina de convencerme. As que me pongo a buscar por Internet y llega a mi cerebro una cantidad de informacin que es capaz de agotar a cualquiera. Me entero de la existencia de MVC (modelo vista controlador) y pienso si debera pensar en usar MVC para desarrollos grandes y para modelar el desarrollo de mis aplicaciones. De momento, no hablamos de presentacin, RIA ni AJAX, pero esto empieza a traumatizarme porque me abre ms dudas que soluciones. Una vez ms, debo desbloquear la toma de decisiones y puesto que el desarrollo Web siempre ha funcionado como lo conocemos hasta ahora, veo que MVC puede ayudarme enormemente para desarrollos Web grandes, como los que tengo que iniciar, pero que provocaran un aprendizaje obligado que no estoy dispuesto a costear en estos momentos (el tiempo apremia... como siempre). Adems, pese a que es mejor usar MVC de cara al mantenimiento de la aplicacin Web en proyectos de gran envergadura, si el desarrollo con el ASP.NET tradicional se hace ordenadamente, se puede llegar a un control y rendimiento similar respecto al mantenimiento. Por esa razn, desecho la idea de usar MVC y la dejo aparcada para ms adelante, para futuros proyectos, aunque siempre y antes de empezar el proyecto, se puede volver a pensar en MVC, as que ya veremos qu pasa finalmente. Pero como no hay dos sin tres, aparece una nueva sigla en escena... MVP (modelo vista presentacin). Miro y remiro un poco, pero aqu s que prefiero dejarlo para ms adelante.

Como dije antes, buscando por Internet recib muchsima informacin y eso en parte me vena muy bien, pero por otro lado, llegaba a agobiar un poco. Lo ms importante de todo lo que llegu a ver, era lo relativo a los AJAX Frameworks. Un AJAX Framework es un framework que tiene por objetivo, facilitar el desarrollo de aplicaciones Web utilizando AJAX. Hasta aqu bien, pero claro, cuando nos ponemos a mirar cmo usar un AJAX Framework, es posible que nos topemos con una lista bastante grande de ellos. Entre ellos aparecen AJAX Frameworks para JavaScript, ASP.NET, Java, PHP, etc. En nuestro caso nos interesa todo lo relativo a ASP.NET, y aqu vemos que podemos usar tanto los AJAX Frameworks de JavaScript como los AJAX Frameworks de ASP.NET puros. La pregunta entonces es... cul utilizar?. Y aqu nuevamente empezamos a "comernos" la cabeza nuevamente. La lista no es pequea... Backbase, ExtJS, jQuery, Ra Ajax, Prototype, Yahoo! UI o YUI, DOJO, etc. Hay incluso algunos de los que muy pocos habrn odo hablar. Por suerte, hay personas que ya se ha encontrado con los mismos problemas que yo, y que sus aportes ayudan a veces a hacer parte del camino. No todo porque yo por lo menos me baso en no creerme nada de lo que me cuentan (si estuviera leyendo esto tampoco me creera nada de lo que os estoy contando, porque es mejor verlo cada uno por s mismo), pero me ayuda sin lugar a dudas a no dar palos de ciego o a minimizar el tiempo en encontrar una posible solucin. As que por suerte, me he encontrado con un fichero pdf que corresponde con una matriz (bajo mi punto de vista obsoleta) que compara el uso de AJAX Frameworks en aplicaciones ASP.NET. Tambin existe una comparativa dentro de la pgina de Ra Ajax que puede resultar interesante igualmente. No me cuadran los datos obtenidos para jQuery, pero es bueno tenerlo en cuenta por si acaso. El caso es que he estado mirando pros y contras y me he topado con varias conclusiones. De todas las que he visto, odo, etc., las que ms me gustan son Ra Ajax, ExtJS y jQuery adems de los propios controles de AJAX de ASP.NET que son muy sencillos de utilizar. Por esa razn, he filtrado y he sacado unas conclusiones muy personales sobre este tema (cada uno que saque sus propias conclusiones, no existen balas de plata). Lo que he visto de Ra Ajax me ha gustado, pero honestamente, es la que menos conozco, y como dice el refrn, ms vale lo malo conocido que lo bueno por conocer. Las libreras ExtJS me encantan, me chiflan, pero... las veo complejas, muy pesadas y lentas. S que hay compresores de libreras JavaScript, pero es una excusa. Por otro lado, la integracin con Visual Studio no existe, y aunque hay rumores de que la versin 3.0 que est a punto de aparecer va a tener un diseador propio y una "posible?" integracin con Visual Studio, eso no se puede asegurar de momento y prefiero dejarlo en "standby".

jQuery es para m tan valioso como ExtJS, pero hay algo que me gusta mucho ms. Por un lado, jQuery "pesa" menos y es ms gil, y hay ms proyectos y ejemplos de implementacin de jQuery para ASP.NET, no como en el caso de ExtJS. Por otro lado, y quizs ms importante, jQuery se puede usar con Visual Studio, se puede aplicar Intellisense en el desarrollo, y los planes de Microsoft con ASP.NET es adoptar jQuery (1) y (2), lo cul me hace pensar en que el soporte est asegurado. Finalmente, tenemos jQuery UI para ayudarnos en la interactuacin con controles en la Web. Por otro lado, la independencia del navegador Web es fundamental y ms an que se pueda interactuar con la aplicacin Web en cualquier sistema operativo, algo que Silverlight no me puede ofrecer 100%. Por otro lado, hay algo que me molesta bastante con respecto al proceso de JavaScript y es que Microsoft Internet Explorer 7 es ms lento de procesar que otros navegadores de la red. Espero que Microsoft Internet Explorer 8 sea ms rpido al trabajar con JavaScript, pero no es ningn impedimento y sigue siendo siempre mucho ms rpido que una aplicacin Silverlight o Adobe Flex. Ahora bien,... partiendo de mi predileccin personal por jQuery y ExtJS, conviene usar jQuery, ExtJS y AJAX ASP.NET como un todo?. Mi posicionamiento es, o utilizamos jQuery o utilizamos ExtJS, pero los dos?. Es realmente necesario?. Sobre AJAX ASP.NET es tan sencillo de utilizar, que minimiza enormemente algunos desarrollos o parte de ellos, adems, podemos utilizarlo sin problemas con un AJAX Framework, por esa razn, igual compensa utilizar AJAX ASP.NET con jQuery o bien AJAX ASP.NET con ExtJS. Lo que no me termina de convencer es usar el popurr de ExtJS, jQuery y ASP.NET AJAX en el mismo proyecto.

También podría gustarte