Si trabajamos con ELMAH y realizamos nuestro propio control de errores será necesario notificarle que queremos que guarde esa excepción controlada. Lo haremos con:
ErrorSignal.FromCurrentContext().Raise(ex);
Si trabajamos con ELMAH y realizamos nuestro propio control de errores será necesario notificarle que queremos que guarde esa excepción controlada. Lo haremos con:
ErrorSignal.FromCurrentContext().Raise(ex);
Para crear un Tema o Theme en Visual Studio debemos hacer click derecho sobre el proyecto web y añadir la carpeta de ASP.NET App_Themes . Nos pedirá un nombre, le daremos el nombre MainTheme por ejemplo.
Una vez creado este directorio especial podemos añadirle dentro de sí un nuevo item de extensión .Skin.
Lo último que nos queda es especificar en el web.config la theme que usará el sitio por defecto.
<configuration> <system.web> <pages theme="MainTheme"> </pages> </system.web> </configuration>
Ya estará funcionando nuestro tema, solo quedaría definir en nuestro skin las propiedades de cada control.
Si con Bootstrap queremos utilizar un botón que tenga un icono de Glyphicon tenemos que olvidarnos del clásico asp:button y utilizar asp:linkbutton de la siguiente manera:
<asp:LinkButton runat="server" Text="<span class='glyphicon glyphicon-remove'></span>" CssClass="btn btn-default btn-xs" />
Lo que hacemos es darle una clase al linkbutton de Boostrap y dentro del text (innerhtml) la etiqueta span y su contenido.
No olvides que debes de tener los ficheros de css necesarios para que esto funcione, o sea bootstrap.css o bootstrap.min.css.
Para dar estilo básico a un control asp con boostrap:
<asp:DropDownList runat="server" ID="ddl" CssClass="form-control" >
Con la versión 4.5 de .NET Framework se ha incorporado la autenticación basada en Identity. Esto ya lo hablamos en pasadas entradas, ahora vamos a verlo un poquito más a fondo.
Con Identity se crean las siguientes tablas:
En estas tablas se guarda toda la información relacionada con los usuarios. Es en la tabla AspNetUsersr donde se guardan los siguientes campos:
En la siguiente imagen se muestra la estructura de tablas y los campos de la tabla AspNetUsers:
Ya entrando en el código, si has generado el proyecto web con una de las plantillas que ofrece Visual Studio 2013 verás que en la carpeta «Models» se ha creado un archivo llamado «IdentityModels.cs». En este fichero existen varias clases que definen la funcionalidad de Identity en la aplicación. Las clases son:
Después de analizar todo este rollo vamos a ver como podríamos obtener todos los usuarios con Identity. Si utilizamos directamente el contexto «ApplicationDbContext» accederemos a todos los usuarios mediante su propiedad «Users»:
IList<ApplicationUser> users = context.Users.ToList();
Living is easy with eyes closed… Strawberry Fields Forever
Unobstrusive validation (algo así como validación no obstrusiva) es una nueva característica introducida en ASP.NET 4.5. En un escenario normal cuando usamos un validador para validar cualquier control en el lado cliente se genera cierto código javascript automáticamente que se encarga de realizar esa funcionalidad.
Con la característica Unobstrusive Validation no se genera este código javascript pero para realizar la validación utiliza los atributos HTML5 data-*.
Cuando se crea un nuevo proyecto web con Visual Studio 2013 esta característica está por defecto habilitada.
Para manejar el valor en el que se establecerá esta característica podremos hacerlo de dos formas:
Habilitado:
<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms"/>
Deshabilitado:
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
void Application_Start(object sender, EventArgs e) { //Habilitar característica Unobtrusive Validation ValidationSettings.UnobtrusiveValidationMode = UnobtrusiveValidationMode.WebForms; //Deshabilitar característica Unobtrusive Validation ValidationSettings.UnobtrusiveValidationMode = UnobtrusiveValidationMode.None; }
Para cambiar el idioma a Firefox debemos ir a:
Herramientas -> Opciones -> Contenido
Abajo aparece la opción de idiomas donde podemos gestionar fácilmente los idiomas aceptados por el navegador.
Cambiar idioma a Firefox u otros navegadores es útil para desarrolladores que quieren probar webs que utilicen un idioma u otro en función del idioma del usuario.
Si tienes un sitio web en Apache y necesitas redirigir a una dirección url distinta por cada idioma (inglés, español, portugués…) puede ser muy útil hacerlo mediante htaccess con la cabecera HTTP:Accept-Language que transmite el navegador del cliente. De este modo «confiaremos» en la configuración de lenguaje que cada usuario tiene en su navegador.
Así que nos ponemos manos a la obra:
Deberemos crear un directorio por cada uno de los idiomas.
Por ejemplo si nuestro dominio es midominio.com crearemos en la raíz tantas subcarpetas como idiomas queramos manejar:
midominio.com/pt
midominio.com/es
midominio.com/en
…
Añadiremos estas líneas:
RewriteEngine On RewriteBase / # Lenguaje portugués: 'pt' RewriteCond %{HTTP:Accept-Language} ^pt [NC] RewriteRule ^/?$ pt/ [R,NC,L] # Lenguaje portugués: 'es' RewriteCond %{HTTP:Accept-Language} ^es [NC] RewriteRule ^/?$ es/ [R,NC,L] #Regla general para los demás casos RewriteRule ^/?$ en/ [R,NC,L]
En el código podemos comprobar que se establecen diversas reglas de redireccionamiento para cada condición de la cabecera enviada por el navegador.