2

J'ai défini des valeurs pour le Order property du Display attribute dans les métadonnées de mon modèle.La propriété DataAnnotations.DisplayAttribute.Order ne fonctionne-t-elle pas avec ASP.NET MVC 2?

[MetadataType(typeof(OccasionMetadata))] 
public partial class Occasion 
{ 
    private class OccasionMetadata 
    { 
     [ScaffoldColumn(false)] 
     public object Id { get; set; } 

     [Required] 
     [Display(Name = "Title", Order = 0)] 
     public object Designation { get; set; } 

     [Required] 
     [DataType(DataType.MultilineText)] 
     [Display(Order = 3)] 
     public object Summary { get; set; } 

     [Required] 
     [DataType(DataType.DateTime)] 
     [Display(Order = 1)] 
     public object Start { get; set; } 

     [Required] 
     [DataType(DataType.DateTime)] 
     [Display(Order = 2)] 
     public object Finish { get; set; } 
    } 
} 

Je vous présente mes modèles dans des vues fortement typées en utilisant les méthodes DisplayForModel et EditorForModel.

<%= Html.DisplayForModel() %> 

et

<%= Html.EditorForModel() %> 

Mais, ASP.NET MVC 2 affiche les champs sur commande! Que pourrais-je avoir tort?

+0

J'utilise Microsoft Visual Studio 2010 RC. –

+0

"Veuillez noter que l'assembly ASP.NET 4 Futures nécessite .NET 4 RTM et ne fonctionnera avec aucune version de .NET 4 ou VS 2010 avant RTM." –

+0

J'ai installé Visual Studio 2010 RTM et j'ai essayé d'ajouter ASP.NET MVC 2 Futures à mon projet. L'attribut Display ne fonctionne toujours pas. –

Répondre

4

.NET 4 DataAnnotations est livré avec une nouvelle Display attribute qui a plusieurs propriétés dont spécifiant la valeur qui est utilisée pour affichage dans l'interface utilisateur et un ResourceType. Malheureusement, cet attribut est nouveau et est non pris en charge dans MVC 2 RTM.

Les bonnes nouvelles sont qu'il sera soutenu et actuellement disponibles dans le MVC Futures version.

Les étapes pour obtenir ce travail sont présente comme suit ...

de Localization in ASP.NET MVC 2 using ModelMetadata par Raj Kaimal

Brad Wilson
+0

Merci d'avoir écrit ça, Raj. C'est une grande aide. –

+0

Merci pour l'édition, Zach :-) –

+0

J'ai installé Visual Studio 2010 RTM et j'ai essayé d'ajouter ASP.NET MVC 2 Futures à mon projet. L'attribut Display ne fonctionne toujours pas. –

0

dit Novembre 2009:

Il n'y a pas de soutien de l'ordre dans MVC 2, et il n'est pas susceptible d'être là jusqu'à MVC 3. Une raison majeure est que DataAnnotations dans .NET 4 ont ajouté d support de commande, mais puisque nous comptons sur 3.5, nous ne pouvons pas encore le faire.

de comment sur "ASP.NET MVC 2 modèles, Partie 5: Master page Modèles"

+0

L'utilisation du fournisseur de métadonnées de modèle dans ASP.NET MVC 2 Futures permet au nom de fonctionner, mais pas à Order. http://stackoverflow.com/questions/2998865 –

+0

Confirmé le 9 juin 2010 http: //bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-modèles-partie-2-modelmetadata.html # comment-6a00e54fbd8c4988340133f05a28b5970b –