Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

T4 templates για asp.net mvc views και metadata

Îåêßíçóå áðü ôï ìÝëïò Chrysostomos Kolovos. Τελευταία δημοσίευση από το μέλος billaraw στις 12-12-2010, 04:33. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-12-2010, 22:36 61498

    T4 templates για asp.net mvc views και metadata

    Προσπαθώ να φτιάξω τα δικά μου t4 templates για να δημιουργώ html για τα νέα views στο asp.net mvc. Το πρόβλημα μου πως δεν μπορώ να βρω πως να πάρω τα metada που έχω να δηλώσει πάνω στις κλάσεις του μοντέλου μου. 
    Πιο συγκεκριμένα, έστω ότι έχω αυτή τη class.
    public class myClass
            {
                public object AlbumId { get; set; }
    
                [DisplayName("Genre")]
                public object GenreId { get; set; }
    
                [DisplayName("Artist")]
                public object ArtistId { get; set; }
    
                [Required(ErrorMessage = "An Album Title is required")]
                [StringLength(160)]
                public object Title { get; set; }
    
                [DisplayName("Album Art URL")]
                [StringLength(1024)]
                public object AlbumArtUrl { get; set; }
    
                [Required(ErrorMessage = "Price is required")]
                [Range(0.01, 100.00, 
                    ErrorMessage = "Price must be between 0.01 and 100.00")]
                public object Price { get; set; }
            }
    Θέλω στο t4 template μου να πάρω π.χ. τα displayName για να τα βάλω στη περιγραφή των πεδίων. 

    Ευχαριστώ







  •  12-12-2010, 04:33 61527 σε απάντηση της 61498

    Απ: T4 templates για asp.net mvc views και metadata

    Ο πιο κομψός τρόπος να εμφανίσεις το DispayName στο View είναι με το LabelFor helper.

    Για παράδειγμα το

    <%: Html.LabelFor(m => m.AlbumArtUrl)%>

    θα σου εμφανίσει Album Art URL

    Αλλιώς θα μπορούσες να τρέξεις το παρακάτω για να τα "ξεθάψεις" από το model σου

    ViewData.Model = new MyClass();
    foreach (var prop in ViewData.ModelMetadata.Properties.Where(
                pm => pm.ShowForDisplay))
                {
                    var str = prop.GetDisplayName();
                }
    Μπορείς να κοιτάξεις και τα παρακάτω links για διάφορες πιο πολύπλοκες υλοποιήσεις πάνω στο θέμα που μπορεί να βοηθήσουν.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems