CSharp:Attributi delle proprietà e metodi
From Aino Wiki
Si possono usare per automatizzare il controllo sintattico, in MVC sono localizzate nel Model.
Per poterli usare è necessario includere nelle using l'uso delle librerie in: System.ComponentModel.DataAnnotations
public class Movie { public int ID { get; set; } [StringLength(60, MinimumLength = 3)] public string Title { get; set; } [Display(Name = "Release Date")] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTime ReleaseDate { get; set; } [RegularExpression(@"^[A-Z]+[a-zA-Z''-'\s]*$")] [Required] [StringLength(30)] public string Genre { get; set; } [Range(1, 100)] [DataType(DataType.Currency)] public decimal Price { get; set; } [RegularExpression(@"^[A-Z]+[a-zA-Z''-'\s]*$")] [StringLength(5)] public string Rating { get; set; } }
Gli attributi si usano nella validazione grazie al codice razor nella view, notare
I metodi che effettueranno la validazione lato client sono in apposite librerie di Helper.
Elenco dei più importanti
HttpPost
es:
[HttpPost, ActionName("Delete")]
Questo associato ad un metodo lega l'esecuzione sia ad una richiesta di POST e sia all'azione, del routing, 'Delete'. Utile anche per problemi nella naming degli overload in cui si è obbligati o a cambiare il nome del metodo o ad introdurre un parametro NON richiesto. Quindi se si sceglie di usare un nome diverso da dare al metodo ma lo si vuole legare alla stessa azione di altri si specificherà [... ActionName("nome azione")]
C# | MVC | Principi Teorici