Ver por etiquetas

Todas las etiquetas » trucos (RSS)

Eliminar una entrada incorrecta del historial en IE8

Mi gran descubrimiento del día probablemente será una chorrada para la inmensa mayoría, pero también seguro que hay alguien que, como un servidor, no se había percatado hasta el momento de este detalle de IE8. Como sabéis, la barra de direcciones de este navegador nos permite escribir la URL de la página que queremos visitar, pero podemos ahorrar mucho tiempo si tecleamos únicamente algunos caracteres contenidos en la misma: Internet Explorer...
Publicado por José M. Aguilar | con no comments
Archivado en: ,

Cambios en el retorno de datos JSON con MVC 2

Con objeto de mejorar la seguridad de nuestras aplicaciones, la Release Candidate de ASP.NET MVC 2 introdujo un cambio importante en la forma de procesar peticiones que retornan información serializada como JSON : por defecto, ahora sólo se responde a peticiones de tipo POST. Dado que en MVC 1.0 era justo al contrario, esta pequeña reorientación hace que aplicaciones que antes funcionaban correctamente dejen de hacerlo al migrarlas a la última versión del...

Error al conectarse al administrador de deshacer del archivo de código fuente

“Error al conectarse al administrador de deshacer del archivo de código fuente c:\blahblah\archivo.designer.cs” es un mensaje con el que Visual Studio (tanto la versión 2005 como 2008) me ha abofeteado en numerosas ocasiones cuando estoy desarrollando sitios web ASP.NET. Y la verdad, es uno de esos casos en los que no sabes qué hacer: recompilas, limpias la solución, abres y cierras el IDE… pero nada, cuando le da por ahí, no hay forma de hacerlo...
Publicado por José M. Aguilar | con no comments

Cambiar el location.href conservando el Referer

El HTTP Referer es una variable que nos envían los navegadores en cada petición, permitiéndonos conocer de dónde viene el usuario, es decir, la página donde se encontraba el enlace, botón o formulario cuya activación ha provocado el salto a nuestro sitio. Por ejemplo, si un servidor recibe esta solicitud: GET / HTTP/1.1 Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, (...omitido...), */* Referer: http://www.google.es/search?hl=es&rls=ig&q...

Actualizando el equipo con Disk2Vhd

Por cosas de la procrastinación , tenía una máquina pendiente de formatear desde hace unos años ;-P, y he aprovechado el fin de semana para hacerlo. Como sabréis, esto no es tarea fácil, se requiere mucho pragmatismo, gran concentración y, principalmente, vencer al Diógenes digital que todos llevamos dentro ;-D. Y claro, una vez que nos ponemos, el problema es cómo conseguir minimizar los daños colaterales. Esta máquina...
Publicado por José M. Aguilar | con no comments

Forzar validación desde cliente con ASP.NET Webforms

Cada vez que tengo que forzar la validación de los datos de un formulario Webforms mediante javascript me veo obligado a preguntarle a Google, ese que todo lo sabe, cómo era el nombre de la función. Cosas de la edad, supongo ;-) Así que, a modo de auto-recordatorio y con la intención de que pueda ser útil a alguien más, ahí va: la función se llama Page_ClientValidate() . Retorna “true” si, una vez evaluados todos los validadores...

Server.Transfer en ASP.NET MVC

ASP.NET MVC ofrece “de serie” mecanismos para transferir el control desde una acción a otra utilizando para ello redirecciones HTTP. Esto significa que cuando un cliente realiza una petición y el método de acción desea que ésta sea procesada desde otra acción, el navegador será informado de la URL a la que debe dirigirse mediante una respuesta de tipo 302 para que, tras recibirla, realice una nueva solicitud que finalmente ejecutará...

Procesar peticiones a acciones inexistentes en ASP.NET MVC

Los controladores ASP.NET MVC que heredan de la clase Controller permiten procesar muy fácilmente las peticiones realizadas a acciones no definidas. Para ello, lo único que hay que hacer es sobrescribir el método HandleUnknowAction() e implementar la lógica que queremos que se ejecute en estos casos. En el siguiente código, las peticiones realizadas a /Home/Index y /Home/About serán procesadas normalmente, pero /Home/BeberCerveza será procesada por...

Cómo obtener el valor de campos de formulario con el mismo nombre

Imaginemos el siguiente código HTML: < input type ="text" name ="nombre" />< br /> < input type ="text" name ="nombre" />< br /> Si desde un servidor ASP.NET, como respuesta a un submit (o postback en webforms), queremos acceder a los valores del campo del formulario “nombre”, podemos utilizar el clásico Request[“nombre”] para obtener los valores de todos ellos separados por comas. Así, si...
Publicado por José M. Aguilar | con no comments

Modifica el portapapeles de tus visitantes con ZeroClipboard

Si estás creando herramientas webs que generan código o texto para que tus visitantes lo copien y peguen en otras aplicaciones, ZeroClipboard puede facilitar su utilización, al permitir introducir el contenido que deseemos en el portapapeles de los usuarios. Hace tiempo ya comenté una forma de acceder transparentemente al portapapeles de los visitantes utilizando el objeto window.clipboardData , pero esta posibilidad desapareció, al menos en su versión silenciosa...

Eliminar los encabezados X-AspNet* de las respuestas en ASP.NET MVC (y ASP.NET)

Si observamos las respuestas enviadas al cliente que solicita una página de un sitio web creado con el framework MVC, veremos que, además de los encabezados HTTP estándar, el sistema añade información sobre las versiones de ASP.NET y del propio framework MVC que estamos utilizando: Esta información, además de consumir ancho de banda (poco, todo hay que decirlo, pero nada despreciable en sitios con tráfico muy alto), aportan información...

Inicializar a null propiedades sin tipo

No es algo que ocurra muy frecuentemente, pero en determinadas ocasiones puede ser útil inicializar una propiedad de un tipo anónimo con el valor nulo, por ejemplo: var conductor = new { Nombre = ”Marisa”, Edad = 34, Auto = “Renault Megane” }; var peaton = new { Nombre = “Juan”, Edad = 43, Auto = null }; En el código anterior se entiende que lo que queremos indicar estableciendo la propiedad Auto a null es que la persona que estamos representando...
Publicado por José M. Aguilar | 2 comment(s)
Archivado en: ,,,

Métodos condicionales en .NET

En la plataforma .NET existen distintas formas de hacer que una llamada a un método sea omitida bajo determinadas circunstancias. Por ejemplo, los métodos parciales permiten, en C# 3.0 y VB 9.0, que el compilador omita la llamada a funciones no implementadas. También existe la posibilidad de utilizar las clásicas directivas (como # if … # endif ) para incluir código cuando existan constantes de compilación. Es menos conocida, sin embargo, la existencia...

Generación de PDF desde .NET usando formularios

Un post en .NET Answers me ha recordado que hace tiempo tenía pendiente escribir una entrada para comentar la técnica que he utilizado en más de una ocasión para generar documentos PDF desde mis aplicaciones .NET de forma muy sencilla, y que puede aplicarse en escenarios donde se conozca de antemano el diseño del documento a imprimir y sólo sea necesario introducir información concreta en espacios muy definidos. Un caso muy habitual es el rellenado...

Cambiar la ubicación de las vistas en ASP.NET MVC

El framework ASP.NET MVC utiliza en varios puntos la filosofía que suele denominarse convención sobre configuración , ahorrando tiempo y esfuerzos al desarrollador que decida asumir una serie de normas preestablecidas, a la vez que facilita la homogeneidad y coherencia en las soluciones que las implementen. Por ejemplo, todos sabemos que las vistas de una aplicación ASP.NET MVC deben encontrarse en la carpeta Views . Si se trata de una vista compartida como puede ser una...

Compilar las vistas en ASP.NET MVC

El código introducido en las vistas ASP.NET MVC pueden ser fuente de problemas en tiempo de ejecución debido a que, por defecto, no se compilan con el proyecto, sino cuando el sistema necesita mostrarlas por primera vez. Es decir, es perfectamente posible que errores de codificación en un archivo .ASPX no sean detectados hasta el momento de su ejecución, provocando un YSOD de los de toda la vida. Un ejemplo. Imaginemos una vista tipada (en un archivo .ASPX) en la que hemos...

Directivas personalizadas en páginas y controles ASP.NET

Qué divertido es esto. Hoy he descubierto una nueva característica que se presentó con ASP.NET 2.0, hace ya algunos añitos: la posibilidad de crear nuestros propios atributos en las directivas de página y controles, es decir, utilizar las líneas @Page y @Control que suelen encabezar nuestros archivos .Master, .aspx y .ascx para asignar valores a propiedades de nuestras clases, como en el siguiente ejemplo: <% @ Page Language =" C# " MasterPageFile...
Publicado por José M. Aguilar | 3 comment(s)
Archivado en: ,,,

Inclusión de elementos en el encabezado de una página de contenidos ASP.NET

Un detalle que llama la atención al añadir una página maestra a un proyecto ASP.NET desde Visual Studio 2008 es que, por defecto, añade dos secciones de contenido ( ContentPlaceHolder ) a la estructura de la página. Una de ellas es la habitual, en el cuerpo de <form runat="server"> , que es donde las páginas basadas en esa MasterPage introducirán sus contenidos y controles. La otra, sin embargo, es una novedad respecto a versiones anteriores...

Visualizar archivos de ayuda .CHM descargados de Internet

Hace tiempo que venía notando que mi equipo del trabajo no podía abrir algunos archivos .CHM. En lugar de mostrar el contenido, habitualmente textos de ayuda de aplicaciones o librerías, me regalaba este bonito error: "Se canceló la navegación a la página web. Puede intentar lo siguiente: volver a escribir la dirección" El índice de contenidos funcionaba; el alfabético también; incluso la búsqueda por palabras...

Cómo redondear imágenes con NiftyDotNet

El otro día me topé, casi por casualidad, con una forma para crear imágenes con esquinas redondeadas sin necesidad de recurrir a Photoshop ni manipularlas desde la aplicación, simplemente usando NiftyDotNet . La forma de conseguirlo es muy sencilla, y básicamente aprovecha la técnica utilizada por Nifty Corners Cube , la librería javascript encapsulada por NiftyDotNet, para crear el efecto de redondeo de los ángulos de elementos de bloque de una página Web. Lo primero que debemos hacer es incluir...
Más artículos Página siguiente >