JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

No me aparece el DataContext en un LinqDataSource

Linq to SQL es una tecnología precursora del actual Entity Framework que fue pionera en sacar partido a Linq para crear un ORM fácil de utilizar con esta tecnología. Su principal limitación es que solo funciona con SQL Server y que los "mapeos" deben ser 1 a 1 con las tablas (una tabla = 1 clase). Sin embargo es tremendamente fácil de usar y tiene un diseñador visual muy efectivo, por lo que a mucha gente (incluyéndome yo mismo) nos gusta mucho y es válido para la mayor parte de las situaciones si trabajas con el gestor de datos de Microsoft.En ASP.NET Web Forms (otra tecnología ahora en retroceso pero tremendamente efectiva para ciertos tipos de aplicaciones Web, como por ejemplo las orientadas a gestión) se incluye un control para acceso visual a datos llamado LinqDataSource que está especialmente diseñado para trabajar con esta tecnología. Este control combinado con los diferentes controles enlazados a datos (y especialmente los ListView y DataPager) permite crear interfaces web ori... [Más]

La propiedad EnableViewStateMac ya no funciona en ASP.NET Web Forms 4.5.2

Hace unas semanas Microsoft anunció la revisión 4.5.2 de .NET, que actualiza un poco la última versión de la plataforma .NET (la 4.5) con algunos ajustes y correcciones. Si nos atenemos a lo que anunciaron en el blog oficial, e incluso en la lista de cambios del lanzamiento, no hay nada que llame la atención sobre un pequeño detalle que sin embargo es muy importante: han deshabilitado la posibilidad de desactivar el MAC del ViewState en ASP.NET Web Forms. Y esto ¿qué significa? Para verlo, primero demos un repaso rápido a qué es el MAC y para qué sirve. Luego veremos qué implicaciones tiene el hecho de no poder desactivarlo. Funcionamiento del ViewState y autenticación El ViewState, como todos deberíamos saber, es una parte fundamental del funcionamiento de Web Forms. Almacena el estado de los diferentes controles de una página entre postbacks. En Web Forms cada evento que se produce que se gestiona en el servidor implica un envío de la página de nuevo al servidor. A estos reenv... [Más]

Recibir resultados de una página en otra: Transferencias y Cross-page posting

Hay ocasiones en las que tenemos una página muy poblada de controles que se deben mostrar en pasos sucesivos. Desde una simple recogida de datos que se haya complicado un poco, hasta varios pasos de un asistente, por ejemplo. Existen muchas maneras de solucionar esta situación y hacer que las páginas estén un poco más despejadas. Por ejemplo, podemos usar un control Wizard nativo de ASP.NET Web Forms. Sin embargo una forma mucho más natural de conseguirlo es recibir los resultados de la primera página en una nueva que los procesa y continúa el flujo de la aplicación. De hecho, en los paradigmas de programación convencionales (o sea, en todo lo que no sea Web Forms, incluyendo ASP.NET MVC pero también PHP, etc...) realmente es como se ha hecho siempre: unas páginas pasan datos a otras para procesarlos. Transferencia en el lado del servidor En ASP.NET disponemos de la instrucción Server.Transfer que nos permite derivar la ejecución actual de una página hacia otra, como si se ejecutase... [Más]

Efectuar la validación de varios formularios por separado en ASP.NET Web Forms

Hoy un truco rápido de principiante... Los grupos de validación surgen para suplir una limitación de los formularios HTML dentro de los formularios Web de ASP.NET. Y es que, por el propio modo de funcionar de los Web Forms, cada página ASPX sólo puede tener un único formulario (en el sentido de que no pueden disponer de más de una etiqueta <form> de HTML). Por ello, si realmente quieres tener en tu página un par de formularios colocados (por ejemplo, uno para darse de alta y otro para hacer login en tu sitio web), realmente sólo existe un único <form> por debajo. Lo normal es agrupar los controles dentro de un panel  para que visualmente se vean separados, y para que se comporten como si realmente fueran dos formularios independientes, las validaciones se hacen de forma separada también. Para conseguirlo se utiliza la propiedad ValidationGroup de los controles así como el control ValidationSummary. Ésta nos permite asociar la validación de un determinado control a un... [Más]