Normalmente, cuando alguién esta aprendiendo a desarrollar en Php, Jsp, o el ASP clásico (hasta el final del post lo voy a usar como ASP3), siempre hay una breve introducción al Html, y ves las diferencia de usar los métodos GET y el método POST, del protocolo HTTP ( si eres desarrollador Asp.Net, tienes aplicaciones en producción, y no sabes que es GET ni POST, y menos sus diferencias, hombre, que nunca es tarde para aprender), es más en el dictado de los cursos sobre estos lenguajes se incluian estos dos temas. Recuerdo en los primeros ciclos de la universidad primero me meti a un curso, fuera de la unviersidad, de JSP (dictado por un cubano, Guillermo Sanchez hasta ahora creo que es el mejor curso de programación que tuve) debido a que quería aprender Java, pero no sabía que no era programación en Java, era programación Web con Java, por suerte hacía unas semanas estaba aprendiendo por mi cuenta html y no me fue extranio el curso. Al siguiente ciclo me metí a un curso de Php (con Cesár Bustamente, muy bueno el curso), y comienzas a notar que todos son html, métodos Post, get, base de datos, y como que le agarras onda al asunto. Y después me metí a un Curso de ASP.Net (VS2003), (todos fuera de la Universidad) que lo enseñaba un certificado Microsoft MSCD.Net, la visión del curso era buena: introducción a .Net, Visual Studio .Net, Web Forms, uso de controles, controles de usuario, controles de datos, controles de validación, Web Services, y bueno más tarde me di cuenta que eran los temas del 2310, y no voy a decir que usaba los mismos slides y los mismos ejemplos. Y bueno el curso estuvo bien enfocado, a lo que se necesita en toda aplicación Web de mantenimientos o interacción con base de datos, ¿pero y si en el curso habían personas que no sabían html, o no sabían la diferencia entre Get y Post?, no recuerdo que haya hecho esa pregunta.
Y este patrón se sigue repitiendo en la actualidad, por ejemplo alguién que aprendio a programar con C++, o con Visual Basic, y nunca vieron nada Web, no saben que existe el html, ni Get, ni Post, ni nada Web. Y deciden aprender desarrollo Web con ASP.Net, por eso de que la Web es la voz, descargan tutoriales, abren Visual Studio, y comienzan a arrastrar controles indiscriminadamente, hacen doble clic en un botón, se agrega el evento botón, programan llenar un GridView, hacen View in Browser, y ya se podría decir que son desarrolladores Web, y si les preguntas que método usaste Get o Post?, la respuesta es: -«no, yo uso ASP.Net»…
¿Cuál es el problema? Con respecto al html, va desde problemas en diseño, hasta problemas en programación. En diseño, por ejemplo arrastras un control Repeater, y lo vas a rellenar con tablas, para poner un ejemplo:
1: <asp:Repeater ID="repData" runat="server">
2: <HeaderTemplate>
3: <table>
4: <td>
5: </HeaderTemplate>
6: <ItemTemplate>
7: <tr><%# Eval("nombre") % ></td>
8: </ItemTemplate>
9: <FooterTemplate>
10: </tr>
11: </table>
12: </FooterTemplate>
13: </asp:Repeater>
Y el colmo, el jefe les pregunta, por que se ve mal página: – «He revisado varios foros, y dicen que Visual Studio no generá bien el Html, que tiene muchos errores, debe ser por que es Microsoft».
Y en programación también genera problemas, una vez vi un código que había divs sin cerrar, no estaba ordenado, el cerrar un UpdatePanel no estaba donde debería estar, eso si erá un código espagueti, y todo eso hacía que no funcione ASP.Net Ajax, cuál es la salida del programador: «Asp.Net Ajax no funciona con proyectos existentes, tiene que ser con proyecto nuevos»
Atención, tampoco se trata de que seas un experto en Html, ni mucho menos, y ya hemos comentado las diferencias que debería haber entre el designer y el developer, y como Visual Studio 2008 te da una ayudita, para eso están los designers, y si no eres designer te bajas algún Starter Kit.
¿Pero que tengas problemas de programación porque no sabes cerrar un elemento html, y si sabes lo haces mal? Pues como que hay un pequeño problema. Si en un proyecto Web te vas a dedicar a crear los componentes de acceso a datos, te vas a meter unas fumadas con patrones, con WCF, con EF, pero no vas hacer las aspx, no hay problema si no sabes html, por que tu tarea es otra. Pero si tu eres el que vas desarrollar las aspx, eres el que va integrar el html que te envíe el designer, o eres el que va modificar el html de un starter kit, no saber nada html, ni la diferencia entre Get y Post… no se si imperdonable sea la palabra, pero de que te va traer algún problema en algún momento, lo va hacer.
Conclusión, no pretendo cambiar la forma de dictar, enseñar o aprender ASP.Net, pero si pienso que deberíamos (me incluyo por que creo hasta ahora no le puse el enfasis que merece) tratar de orientar mejor los objetivos y pre-requisitos de los mismos. Si vas a dictar un curso de ASP.NET 3.5 porque ASP.NET 2.0 es el pasado que los temas vayan: 1) Visual Studio 2008 2) Master Pages & Themes 3) Controles Web 4) Controles de datos 5)Linq 6) y los que siguen… son excelente, pero debes asegurarte que sean pre-requisitos tener conocimientos básicos de html y programación… y si el curso ya esta marcha, pues tratar de algunas clases explicar los métodos Get, Post, tener un html válido, etiquetas básicas de html, entre otros…
Por útlimo dejar esta serie de WebCast, de Jonas Stawski, y que realmente es programación Web para principiantes, para aquellos que recién van aprender desarrollo Web, y para aquellos que ya desarrollan en ASP.Net, pero se saltaron el aprender Html, Get, Post, y eso…
P.D.: El título orginal de la entrada era: Enviar variables desde ASP3 por POST a una página ASP.Net, pero el comentario introductorio de unas líneas, se hizo una entrada :$.
Saludos,