MVC3 Release Candidate

Esto es un no parar, ayer salió la Release Candidate de MVC3, anunciada por ScottGu.

Podéis descargaros la nueva versión de aquí y ver las Notas de la descargar aquí.

¿Qué novedades trae esta versión?

– Soporte Intelisense para las vistas Razor:

(Una imagen vale más que mil palabras)

– Nuevos Atributos Interesantes:

    1. ControllerSessionStateAttribute: Es un atributo para poder, digamos, alterar el uso de la Session.
      El atributo recibe un valor de tipo SessionStateBehavior, el cual es una enumeración con los siguientes valores:
      • Default: Es el valor por defecto, que tenga la aplicación.
      • Disabled: Inhabilita el uso de Session en el controlador. Utilizar una variable de Session con este valor, va a provocar una excepción.
      • ReadOnly: Solo va a permitir consultar valores de Session, es decir, la escritura en variables de Session nos provocará una excepción.
      • Required:Va a permitir leer y escribir en las variables de Session.

      • [ControllerSessionStateAttribute(System.Web.SessionState.SessionStateBehavior.Required)]
            public class EjemploController : Controller

    2. Atributos de Validación: Se han introducido algunos nuevos atributos como son:
      • SkipRequestValidation: es el equivalente al que hace unos días publique aquí. Nos va a permitir evitar la validación del código para elementos que no deseemos, por ejemplo un editor de texto… En el siguiente ejemplo muestro ambos atributos, cuyo resultado va a ser el mismo.
      • [ValidateInput(false)]
        [SkipRequestValidation]
        public string Message { get; set; }
         
      • CompareAttribute: Imaginaros, la típica situación donde tenemos una vista para crear usuarios, con una contraseña y otra caja de texto para validar la contraseña.
        Este atributo, nos va a permitir a nivel de propiedad, establecer una comparación con otra propiedad de nuestro Modelo de una manera muy sencilla:

                [Required]
        public string Contraseña { get; set; }
                [Required]
                [Compare(“Contraseña”)]
                public string RepiteContraseña { get; set; }

                        Además del campo con el que comparar se pueden indicar las siguientes propiedades:

                            – ErrorMessage

                            – ErrorMessageResourceName

                            – ErrorMessageResourceType

      • Remote: Este es un atributo más que interesante, debido a que nos va a permitir realizar una validación cuando estemos editando un modelo, al igual que podríamos realizarla con JQuery, pero teniendo el código en el controlador. El atributo tiene varías sobrecargas, pero quizás la mas sencilla sea:
      • [Remote("Funcion","Controller")]
        public string Topic { get; set; }
        

                        Está sobrecargar recibe 2 parámetros:

                         – Nombre de la función que se va a ejecutar para la validación.

                         – Controlador donde se encuentra la función a ejecutar

                         Es de entender, que el valor de retorno de la función tendrá que ser de tipo Boolean(bool)

Hay más novedades en esta “Release”, pero no voy a entrar a detallar más, os dejo que juguéis un poco con ella, estoy convencido de que os va a gustar.

 

Se me olvidaba comentar que os paséis por el Blog de Eduard para ver el tema de Unobstrusive Ajax!!!

Un saludo.

2 comentarios en “MVC3 Release Candidate”

  1. Buenas Javier!
    Antes que nada muchas gracias por la mención! 😉

    Pues sí, ya tenemos la RC de MVC3, y la verdad es que con el soporte completo para Razor, la cosa mejora mucho 🙂
    Aunque sigo pensando que el 3 se le “queda grande”, ya que las novedades presentadas tampoco son tantas, sólo el hecho que el helper Ajax se integre con jQuery por defecto (en lugar de la Ajax Library) hace que valga la pena plantearse el uso de esta nueva versión!

    Un saludo!!!

  2. Estoy de acuerdo contigo Eduard, creo que con el 3 se han precipitado, porque aunque las novedades (pese a que algunas son muy útiles), no dista tanto de MVC2.
    Y totalmente de acuerdo con lo de jQuery, está claro que Microsoft se ha dado cuenta del filon que da, y me alegro sinceramente que se integre directamente.

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *