martes, 25 de octubre de 2016
Hace muuuchos muchos años ya hablé por aquí de lo extraño que resultaba que el framework MVC, que por aquellos entonces rondaba su segunda versión, no contase de serie con un mecanismo para generar automáticamente el atributo
Y ha llovido bastante desde entonces, incluso el framework MVC se ha "reseteado" y ahora es ASP.NET Core MVC, pero seguimos sin disponer de esa posibilidad, que cubre un escenario muy frecuente al desarrollar aplicaciones con este framework.
En este post vamos a ver, paso a paso, cómo utilizar los maravillosos tag helpers para incluir este atributo de forma automática en los tags
maxlength
en los cuadros de texto, máxime cuando esta información solíamos incluirla en anotaciones de las clases del modelo con atributos como StringLength
o MaxLength
.Y ha llovido bastante desde entonces, incluso el framework MVC se ha "reseteado" y ahora es ASP.NET Core MVC, pero seguimos sin disponer de esa posibilidad, que cubre un escenario muy frecuente al desarrollar aplicaciones con este framework.
En este post vamos a ver, paso a paso, cómo utilizar los maravillosos tag helpers para incluir este atributo de forma automática en los tags
<input>
vinculados a propiedades del modelo cuyos metadatos indiquen un tamaño máximo para el campo.Publicado por José M. Aguilar a las 8:55 a. m.
Nadie ha comentado la entrada, ¿quieres ser el primero?
Etiquetas: aspnetcoremvc, trucos
lunes, 24 de octubre de 2016
Probablemente sólo los más frikis veamos este número más redondo, bonito y conmemorable que el 100, pero sin duda lo es ;) El caso es que esta es la recopilación número 256, y para celebrarlo añadimos una nueva sección donde recogeremos de vez en cuando componentes o bibliotecas que pueden resultarnos útiles para nuestros desarrollos.
Como de costumbre, espero que os resulten interesantes :-)
Como de costumbre, espero que os resulten interesantes :-)
.NET
- You're using HttpClient wrong and it is destabilizing your software
Simon Timms - Making .NET code less allocatey - Allocations and the Garbage Collector
Maarten Balliauw - Serialización de datos: Protocol Buffers
Javier Torrecilla - The week in .NET – Bond – The Gallery
Betrand Le Roy - Notes from the ASP.NET Community Standup – October 11, 2016
Jeffrey T. Fritz - Interception in .NET – Part 3: Static Interception
Ricardo Peres
martes, 18 de octubre de 2016
Me consta que muchos lo estabais esperando con impaciencia, así que me complace anunciaros que desde hace unos días tenéis disponible mi nuevo curso sobre ASP.NET Core MVC en CampusMVP.
Su creación sido un proceso realmente largo y laborioso porque, a diferencia de ediciones anteriores, los cambios que trae consigo el nuevo marco de trabajo han obligado a replantear desde el principio los contenidos, pero creo que el resultado ha valido la pena: un curso potente y completo en el que recorremos el marco de trabajo desde las bases que lo sustentan (ASP.NET Core) hasta la programación de aplicaciones y servicios con el framework ASP.NET Core MVC.
En este post intentaremos responder a las siguientes preguntas:
- ¿En qué consiste el curso de ASP.NET Core MVC?
- ¿Cuáles son los contenidos del curso?
- ¿Es este curso para mi?
- ¿Qué conocimientos previos necesito para seguir el curso?
- ¿Y qué ocurre con MVC 5 o los demás frameworks basados en ASP.NET 4.x?
- Me convence, ¿cuándo empezamos?
martes, 11 de octubre de 2016
Como ocurría en ASP.NET MVC 5 y anteriores, en ASP.NET Core MVC también podemos utilizar la información almacenada en la tabla de rutas para generar URLs hacia nuestras acciones, evitando las frágiles dependencias que introducen en las aplicaciones las direcciones hard-coded.
El framework nos ofrece distintas fórmulas para generar direcciones, aunque la más básica es utilizar extensores de
El framework nos ofrece distintas fórmulas para generar direcciones, aunque la más básica es utilizar extensores de
IUrlHelper
como Action()
, Link()
o RouteUrl()
. Tenemos instancias de dicho interfaz disponibles en la propiedad Url
de controladores y vistas, pero también podemos reclamarlas directamente al sistema de inyección de dependencias en otros contextos. Asimismo, en las vistas podemos utilizar helpers específicos para generar hipervínculos, como el clásico Html.Action()
, o el más reciente tag helper <a>
.
lunes, 10 de octubre de 2016
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
.NET
- Audit.NET: A small framework to audit .NET object changes
Federico Daniel Colombo - New Features of C# 7.0
Prasad kulkarni - Screen Recorder in .NET
Arun Chandrasekhara Pillai - The week in .NET – On .NET on Cecil – NAudio – SpeechCentral – Hand of Fate
Bertrand Le Roy - Story of Equality in .Net - Part 6
Ehsan Sajjad - Pluralization: The missing part of .NET & PluralNet: Pluralization for your .Net application
Rudy Huyn
martes, 4 de octubre de 2016
En ASP.NET Core, sabemos que la clase
Startup
es donde introducimos el código de inicialización de nuestras aplicaciones. En sus métodos Configure()
y ConfigureServices()
encontraremos aspectos de todo tipo, como los siguientes, por citar sólo algunos:- La configuración del sistema de settings
- Definición de destinos de logs y niveles de trazas
- Configuración de componentes de tratamiento de errores y sistemas de depuración y profiling adicionales
- Configuración de servicios como caching o estado de sesión
- Inserción y configuración de servicios y middlewares del framework, como los destinados al proceso de contenidos estáticos, internacionalización, CORS, u otros
- Middlewares personalizados
- Registro de servicios en el sistema de inyección de dependencias
- Inicializaciones específicas de la aplicación, como seeds de bases de datos o configuración de mapeos entre objetos
- Configuración de rutas de la aplicación
- …