Error UnobtrusiveValidationMode en Asp .NET

Error relativo a validación no-intrusiva (unobtrusive validation) que aparece en aplicaciones web que utilizan Asp .NET 4.5 o posterior creadas en Visual Studio

Al ejecutar la aplicación Asp .NET creada en Visual Studio puede aparecer el error que se muestra en la imagen. La causa radica en el cambio del modo de validación que apareció con la versión 4.5 de Asp .NET, llamada unobtrusive validation y que ha sido traducida como validación no-intrusiva. José Manuel Alarcón tiene un artículo con una explicación excelente sobre este asunto en su blog.

Si la aplicación de Visual Studio utiliza Asp .NET anterior a 4.5 el error no aparece porque se emplea el modo tradicional de validación. Pero si utiliza 4.5 o posterior el error puede aparecer al compilar una página aspx con controles de validación. El caso típico es la migración de un proyecto pre 4.5 abriéndolo con la versión actual de Visual Studio y asignando al proyecto la versión 4.5 o posterior de Asp .NET.
Si se crea un nuevo proyecto web con las versiones recientes de Visual Studio a partir de alguna de las plantillas (es decir, el proyecto no se crea de tipo vacío) el error tampoco aparece porque Visual Studio configura todo lo necesario para usar el modo nuevo de validación, instalando paquetes auxiliares entre los que se encuentra AspNet.ScriptManager.jQuery que en su código de inicialización añade las bibliotecas necesarias con ScriptResourceMapping para incluir jQuery.

Leer másError UnobtrusiveValidationMode en Asp .NET

Controles de validación en Asp .NET

Validación de controles en Asp .NET mediante controles ocultos: RequiredFieldValidator, CompareValidator, Rangevalidator, RegularExpressionValidator y ValidationSummary, y validación de la página en el servidor mediante la propiedad Page.IsValid, en VB

El usuario de un programa informático a menudo es impredecible en cuanto a lo que teclea. Por muy claras que nos parezcan las instrucciones y las opciones del programa, es necesario saber si lo tecleado por el usario se adapta a lo esperado o no y, en caso de no serlo, tomar acciones adecuadas que eviten el fallo de la aplicación. Se nos pueden ocurrir muchos ejemplos de ello pero, sin ir más lejos, podemos pensar en la petición del número de teléfono en donde el usuario teclea alguna letra, por lo que no se tratará de un número de teléfono válido.

Leer másControles de validación en Asp .NET

DataGrid con scroll vertical usando OverFlow en Asp .NET

Mostrar en una página web un DataGrid sin paginar añadiendo barra vertical de scroll gracias a la propiedad OverFlow que indica al navegador cómo interpretar los elementos cuyo tamaño es mayor que el de su contenedor

Si tenemos un DataGrid que ha de mostrar un número elevado de filas, tenemos la opción de paginar el DataGrid. Pero si no deseamos organizar el DataGrid en múltiples páginas podemos recurrir a una propiedad CSS, llamada OverFlow, que indica al navegador cómo interpretar los elementos cuyo tamaño es mayor que el de su contenedor.
El ejemplo típico es el de un contenedor <div> de un tamaño determinado que contiene un elemento de un tamaño superior. La propiedad OverFlow le dice al navegador qué hacer, dependiendo de su valor.

Valor Interpretación por el navegador cliente
visible El contenido no es recortado, puede sobresalir del contenedor
hidden El contenido es recortado, sin barras de scroll para poder ver el resto del contenido
scroll El contenido es recortado, pero el navegador coloca barras de scroll
auto Sólo si el contenido es recortado el navegador coloca barras de scroll

Leer másDataGrid con scroll vertical usando OverFlow en Asp .NET

Atributos de la directiva @Page

Los atributos de la directiva @Page en la cabecera de los archivos de código aspx son diferentes dependiendo de que se trabaje dentro o fuera del entorno de Visual Studio

La directiva @Page de las páginas aspx es distinta en cada uno de los 2 casos.

Entorno de Visual Studio

Se usan estos atributos en la directiva @Page:

  • CodeBehind, que especifica el nombre del archivo compilado que contiene la clase asociada con la página. El diseñador de formularios Web Forms de Visual Studio usa este atributo para averiguar dónde se encuentra la clase derivada de Page de forma que pueda crear una instancia de la misma para que se pueda trabajar con ella en tiempo de diseño. CodeBehind sólo se usa en tiempo de diseño, no se usa en tiempo de ejecución, el archivo vb como tal no es necesario, sólo la librería dll resultante de la compilación.
  • Inherits, que define la clase de la que hereda la página aspx. Esta clase será buscada en la librería correspondiente de la carpeta bin de la raíz del servidor Web, según el esquema nombre_de_la_dll.nombre_de_la_clase.

Leer másAtributos de la directiva @Page

Aplicaciones de 64 bits con Acces en VS y Office 2019

Configurar proyectos de bases de datos de Microsoft Access en sistemas con la versión de 64 bits de Office 2019 para que los proyectos también se compilen y ejecuten a 64 bits, en Visual Studio 2019

En muchos sistemas conviven versiones de 32 bits de Visual Studio y de Microsoft Office. En esas circunstancias, para diseñar proyectos que utilizan bases de datos de Access es obligatorio configurar los proyectos para que compilen y ejecuten en el modo de 32 bits ya que el componente (Access Database Engine – Componente redistribuible del motor de base de datos de Microsoft Access) que permite interoperar entre los programas de Office y otras aplicaciones como Visual Studio también es de 32 bits al tener que coincidir con la plataforma de Office.

Leer másAplicaciones de 64 bits con Acces en VS y Office 2019

Diferencia de fechas en ASP .NET con C# y VB

Calcular la diferencia entre 2 fechas usando DateTime, Convert.ToDateTime, DateTime.Now.ToString y System.Globalization, con C# y VB

Este es un ejercicio muy sencillo que ilustra el uso de funciones de fecha para calcular el número de días existentes entre 2 fechas determinadas.

Leer másDiferencia de fechas en ASP .NET con C# y VB

DataGrid con paginación en ASP .NET con C# y VB

Mostrar una base de datos de Microsoft Access dentro de una página ASPX en un DataGrid con paginación para mostrar en cada página un número limitado y definido de registros y desplazarse entre las distintas páginas mediante botones de navegación, en Visual Studio 2017 con C# y VB

En este ejercicio nos conectamos con una base de datos de Microsoft Access y, por código, creamos un DataGrid en el que se activa la paginación. El DataGrid tiene opciones de configuración del número de registros por página, número de botones de navegación y su posición, botones numéricos o de flecha, diseño (tipo de fuente, colores de fondo, bordes, formato diferente en cabecera, cuerpo y pie, anchura de las columnas), etc.

Leer másDataGrid con paginación en ASP .NET con C# y VB

Listar archivos de directorios en ASP .NET con C# y VB

Mostrar en el navegador web los archivos de un directorio remoto o local con una página dinámica aspx usando System.Collection o System.IO, en C# y en VB

ASP .NET tiene varias formas de acceder a los archivos y subcarpetas que están dentro de una carpeta. En este ejercicio se muestran dos maneras diferentes de listar lesos elementos, ambas se basan en código relativamente sencillo, comprensible por programadores no expertos.

Usando colecciones y la interfaz System.Collection.IEnumerator

Una colección (Collection) es un tipo especial de matriz o array especialmente preparado para unas tareas determinadas. Los objetos Collection se crean desde las clases e interfaces del espacio de nombres System.Collections. Algunas interfaces útiles de Collections son:

  • IEnumerator: para recorrer listas de valores
  • IList: para ordenar listas de valores
  • ICollection: para modificar listas de valores
  • ICloneable: para hacer copias de listas de valores.

Leer másListar archivos de directorios en ASP .NET con C# y VB

DataTable desde Microsoft Access en ASP .NET con C# y VB

Leer una base de datos de Microsoft Access, presentar los datos en un objeto DataTable de ASP .NET, generar por código los encabezados y las columnas y mostrar la ruta a la base de datos en una etiqueta con diseño personalizado, en C# y VB .NET

Microsoft tiene un artículo titulado «How to retrieve and display records from an Access database by using ASP.NET, ADO.NET and Visual C# .NET» para .NET Framework 1. Basado en ese artículo se presenta este ejercicio que consiste en leer una base de datos de Microsoft Access y presentar los datos en un objeto DataTable de ASP .NET. El ejercicio tiene 2 versiones: C# y VB, y una base de datos llamada Clientes.accdb con una única tabla llamada ClientesTb y 5 campos: Id, Nombre, Apellidos, Cargo y Teléfono.

Se comenta el ejercicio en C# y al final se proporciona el código completo tanto para C# como para VB .NET, las diferencias entre ambos son pequeñas.

Leer másDataTable desde Microsoft Access en ASP .NET con C# y VB

Contador de visitas en ASP .NET desde Web.config en VB (3)

Sencillo contador de visitas que utiliza una variable de aplicación desde el archivo Web.config, obteniendo el valor de esa variable en el código apsx.vb e incrementándolo en 1 cada vez que se carga la página y presentando el número de visitas formateado con separador de miles

Una aplicación ASP .NET es el conjunto de archivos y carpetas de un directorio virtual y se representa mediante un objeto HttpApplication. Un objeto de este tipo, llamado Application, es generado al arrancar la aplicación (cuando un cliente pide una página del sitio por primera vez).
Application permite guardar variables (variables de aplicación) que van a estar disponibles para todos los usuarios (Application no asigna valores a usuarios concretos). Sin embargo, no es conveniente guardar en variables de aplicación código HTML extenso.
La variable de aplicación tiene una ventaja clara sobre la variable de sesión por el hecho de ser creada una sola vez por aplicación y no por usuario: independientemente del número de usuarios que visitan el sitio, hay una sola variable con el ahorro de memoria en el servidor.

Leer másContador de visitas en ASP .NET desde Web.config en VB (3)