Il codice che è generalmente generato per un ASP.NET MVC 3 Membri, vi preoccupa la proprietà NewPassword
della classe ChangePasswordModel
appare grosso modo così: Usando il parametro per l'attributo StringLength
[Required]
[StringLength(100, MinimumLength=6)]
[DataType(DataType.Password)]
[Display("Name = CurrentPassword")]
public string NewPassword { get; set; }
Al fine di colmare alcune informazioni con parametri esterni sto usando RecourceType:
(In questo caso sto cambiando OldPassword
e riempire l'attributo Display
con alcuni dati aggiuntivi da una risorsa
[Required]
[DataType(DataType.Password)]
[Display(ResourceType = typeof(Account), Name = "ChangePasswordCurrent")]
public string OldPassword { get; set; }
Torna a NewPassword
. Come posso sostituire lo MinimumLenght
con Membership.MinRequiredPasswordLength
?: Il mio tentativo:
[Required]
[StringLength(100, MinimumLength=Membership.MinRequiredPasswordLength)]
[DataType(DataType.Password)]
[Display(ResourceType=typeof(Account), Name= "ChangePasswordNew")]
public string NewPassword { get; set; }
Questo produce l'errore: attributi
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type (http://msdn.microsoft.com/de-de/library/09ze6t76%28v=vs.90%29.aspx)
Come accennato nella Descrizione errore, non è possibile passare una variabile in Parametro minimo attributo lunghezza stringa. MA, ** [Potresti scrivere 'val.Length
grazie. Ho appena esternalizzato la costante alla mia classe GlobalVariables e tutto andava bene. Questo sembra essere il modo più semplice –