<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET MVC</title><link>https://www.dotnetzone.gr:443/cs/forums/169/ShowForum.aspx</link><description>Θέματα για web εφαρμογές, βασισμένα σε ASP.NET MVC</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: T4 templates για asp.net mvc views και metadata</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61527.aspx</link><pubDate>Sun, 12 Dec 2010 12:33:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61527</guid><dc:creator>billaraw</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61527.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=169&amp;PostID=61527</wfw:commentRss><description>Ο πιο κομψός τρόπος να εμφανίσεις το DispayName στο View είναι με το&amp;nbsp;LabelFor&amp;nbsp;helper.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Για παράδειγμα το&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;lt;%: Html.LabelFor(m =&amp;gt; m.&lt;span class="Apple-style-span" style="font-family:'Courier New';font-size:11px;white-space:pre;"&gt;AlbumArtUrl&lt;/span&gt;)%&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;θα σου εμφανίσει&amp;nbsp;&lt;span class="Apple-style-span" style="font-family:'Courier New';font-size:11px;white-space:pre;"&gt;Album Art URL&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family:'Courier New';font-size:11px;white-space:pre;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Αλλιώς θα μπορούσες να τρέξεις το παρακάτω για να τα "ξεθάψεις" από το model σου&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ViewData.Model &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; MyClass();&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;foreach&lt;/span&gt; (var prop &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;in&lt;/span&gt; ViewData.ModelMetadata.Properties.Where(
            pm =&amp;gt; pm.ShowForDisplay))
            {
                var str &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; prop.GetDisplayName();
            }&lt;/span&gt;&lt;/pre&gt;Μπορείς να κοιτάξεις και τα παρακάτω links για διάφορες πιο πολύπλοκες υλοποιήσεις πάνω στο θέμα που μπορεί να βοηθήσουν.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html"&gt;http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://adamyan.blogspot.com/2010/02/aspnet-mvc-2-localization-complete.html"&gt;http://adamyan.blogspot.com/2010/02/aspnet-mvc-2-localization-complete.html&lt;/a&gt;&lt;/div&gt;</description></item><item><title>T4 templates για asp.net mvc views και metadata</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/61498.aspx</link><pubDate>Sat, 11 Dec 2010 06:36:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:61498</guid><dc:creator>Chrysostomos Kolovos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/61498.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=169&amp;PostID=61498</wfw:commentRss><description>Προσπαθώ να φτιάξω τα δικά μου t4 templates για να δημιουργώ html για τα νέα views στο asp.net mvc. Το πρόβλημα μου πως δεν μπορώ να&amp;nbsp;βρω&amp;nbsp;πως να πάρω τα metada που έχω να δηλώσει πάνω στις κλάσεις του μοντέλου μου.&amp;nbsp;&lt;div&gt;Πιο συγκεκριμένα, έστω ότι έχω αυτή τη class.&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; myClass
        {
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; AlbumId { get; set; }

            [DisplayName(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Genre"&lt;/span&gt;)]
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; GenreId { get; set; }

            [DisplayName(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Artist"&lt;/span&gt;)]
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; ArtistId { get; set; }

            [Required(ErrorMessage &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"An Album Title is required"&lt;/span&gt;)]
            [StringLength(160)]
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; Title { get; set; }

            [DisplayName(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Album Art URL"&lt;/span&gt;)]
            [StringLength(1024)]
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; AlbumArtUrl { get; set; }

            [Required(ErrorMessage &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Price is required"&lt;/span&gt;)]
            [Range(0.01, 100.00, 
                ErrorMessage &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Price must be between 0.01 and 100.00"&lt;/span&gt;)]
            &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; Price { get; set; }
        }&lt;/span&gt;&lt;/pre&gt;Θέλω στο t4 template μου να πάρω π.χ. τα displayName για να τα βάλω στη περιγραφή των πεδίων.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Ευχαριστώ&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item></channel></rss>