<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.aspnetzone.de/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>Peter Bucher : ASP.NET MVC</title><link>http://www.aspnetzone.de/blogs/peterbucher/archive/tags/ASP.NET%20MVC/default.aspx</link><description>Ordnungsbegriffe: ASP.NET MVC</description><dc:language /><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>Morgen: Zweites Treffen des .NET Stammtisch Konstanz-Kreuzlingen</title><link>http://www.aspnetzone.de/blogs/peterbucher/archive/2009/04/14/morgen-zweites-treffen-des-net-stammtisch-konstanz-kreuzlingen.aspx</link><pubDate>Tue, 14 Apr 2009 17:07:18 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:209404</guid><dc:creator>Peter Bucher</dc:creator><slash:comments>1</slash:comments><comments>http://www.aspnetzone.de/blogs/peterbucher/comments/209404.aspx</comments><wfw:commentRss>http://www.aspnetzone.de/blogs/peterbucher/commentrss.aspx?PostID=209404</wfw:commentRss><description>&lt;a href="http://www.dotnetkk.de/"&gt;&lt;img style="display:inline;margin-left:0px;margin-right:0px;" src="http://www.aspnetzone.de/photos/juergengutsch/images/206171/original.aspx" align="right" border="0" /&gt;&lt;/a&gt;   &lt;p&gt;Morgen ist es schon soweit, dotnetkk.de geht in die &lt;a href="http://dotnetkk.de/Appointments/Details/zweiter-net-stammtisch-konstanz-kreuzlingen"&gt;nächste Runde&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Das Treffen findet am &lt;strong&gt;15.04.09&lt;/strong&gt; um &lt;strong&gt;19:00 Uhr&lt;/strong&gt; in der &lt;strong&gt;FH-Konstanz&lt;/strong&gt; (Brauneggerstrasse 55) statt.&lt;/p&gt;  &lt;p&gt;Das Programm in Kürze:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Vorstellung des Projektes “dotnetkk” (Webpräsenz des Stammtisches) von &lt;a href="http://www.aspnetzone.de/blogs/juergengutsch/"&gt;Jürgen Gutsch&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Verlosung eines Jahresabonnements von “ASP.NET professional” von mir &lt;/li&gt;    &lt;li&gt;Vortrag über &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; von &lt;a title="Michael Schwarz" href="http://michael-schwarz.blogspot.com/"&gt;Michael Schwarz&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://www.aspnetzone.de/blogs/juergengutsch/"&gt;Jürgen Gutsch&lt;/a&gt; stellt am Anfang des Treffens das Projekt “&lt;a href="http://www.codeplex.com/dotnetkk"&gt;dotnetkk&lt;/a&gt;” vor, dass das Fundament für die Webpräsenz der Stammtisches darstellt und auch von anderen UserGroups genutzt werden kann.     &lt;br /&gt;Dabei geht es um: ASP.NET MVC, LINQ to XML, ASP.NET Provider, Forms Login und vieles mehr.&lt;/p&gt;  &lt;p&gt;Anschliessend werde ich ein Jahresabonnement von “&lt;a href="http://www.aspnet-professional.de/"&gt;ASP.NET professional&lt;/a&gt;” verlosen, das uns &lt;a href="http://www.ppedv.de/"&gt;ppdedv AG&lt;/a&gt; freundlicherweise für das Treffen zur Verfügung stellt.&lt;/p&gt;  &lt;p&gt;An dritter Stelle im Programm haben wir den bekannten Gastsprecher &lt;a title="Michael Schwarz" href="http://michael-schwarz.blogspot.com/"&gt;Michael Schwarz&lt;/a&gt; zu Besuch.     &lt;br /&gt;Er hält einen Vortrag über &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;, das bekannte Javascript-Framework.&lt;/p&gt;  &lt;p&gt;Dabei geht er auf die allgemeinen Probleme mit Javascript ein und stellt anschliessend &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; vor.     &lt;br /&gt;Siehe auch: &lt;a href="http://michael-schwarz.blogspot.com/2009/03/net-stammtisch-konstanz-kreuzlingen.html"&gt;.NET Stammtisch Konstanz-Kreuzlingen – jQuery und .NET Micro Framework &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ich freue mich auf die neuen Gesichter. Bis Morgen!&lt;/p&gt;&lt;img src="http://www.aspnetzone.de/aggbug.aspx?PostID=209404" width="1" height="1"&gt;</description><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Community/default.aspx">Community</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/.NET/default.aspx">.NET</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/ASP.NET%20MVC/default.aspx">ASP.NET MVC</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Stammtisch/default.aspx">Stammtisch</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Konstanz/default.aspx">Konstanz</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Kreuzlingen/default.aspx">Kreuzlingen</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>ASP.NET MVC: Daten zur View Masterpage übergeben</title><link>http://www.aspnetzone.de/blogs/peterbucher/archive/2009/03/28/asp-net-mvc-daten-zur-view-masterpage-bergeben.aspx</link><pubDate>Fri, 27 Mar 2009 23:03:00 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:208955</guid><dc:creator>Peter Bucher</dc:creator><slash:comments>4</slash:comments><comments>http://www.aspnetzone.de/blogs/peterbucher/comments/208955.aspx</comments><wfw:commentRss>http://www.aspnetzone.de/blogs/peterbucher/commentrss.aspx?PostID=208955</wfw:commentRss><description>&lt;P&gt;Ich stand gerade vor der Aufgabe, die UserTimeline eines Twitter Accounts auf einer &lt;A href="http://www.asp.net/mvc/"&gt;ASP.NET MVC&lt;/A&gt; Masterpage anzuzeigen. &lt;BR&gt;Dabei muss die Masterpage irgendwie an die Daten kommen, die sie anzeigen will.&lt;/P&gt;
&lt;P&gt;Eine naive Suche bringt mich mit dem ersten Ergebnis sofort ans Ziel:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title=http://www.google.com/search?oe=utf8&amp;amp;ie=utf8&amp;amp;source=uds&amp;amp;start=0&amp;amp;hl=de&amp;amp;q=asp.net+mvc+master+%2Bshow+data href="http://www.google.com/search?oe=utf8&amp;amp;ie=utf8&amp;amp;source=uds&amp;amp;start=0&amp;amp;hl=de&amp;amp;q=asp.net+mvc+master+%2Bshow+data"&gt;http://www.google.com/search?oe=utf8&amp;amp;ie=utf8&amp;amp;source=uds&amp;amp;start=0&amp;amp;hl=de&amp;amp;q=asp.net+mvc+master+%2Bshow+data&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;=&amp;gt; &lt;A href="http://www.asp.net/learn/MVC/tutorial-13-cs.aspx"&gt;Passing Data to View Master Pages&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Dort stellen sie zwei Möglichkeiten vor. &lt;BR&gt;Bei der ersten wird vorgeschlagen im Konstruktor jedes Controllers die benötigten Daten in das ViewData-Dictionary zu übergeben. &lt;BR&gt;Das wird natürlich mühsam und bei einer Änderung können alle Controller angefasst werden.&lt;/P&gt;
&lt;P&gt;Die zweite Möglichkeit schlägt einen abstrakten Basiscontroller vor, in dessen Konstruktor das ViewData-Dictionary gefüllt wirde. &lt;BR&gt;Eine gute Lösung und die Änderung findet an einer Stelle statt.&lt;/P&gt;
&lt;P&gt;Alle Controller müssen dann von dem abstrakten Controller erben, dabei wird jedesmal dessen Konstruktor ausgeführt und die Daten übergeben. &lt;BR&gt;Ein solcher Controller könnte bspw. so aussehen: &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;namespace&lt;/span&gt; Netkk.Controllers &lt;br /&gt;{ &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;abstract&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;class&lt;/span&gt; ApplicationController : Controller &lt;br /&gt;    { &lt;br /&gt;        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; ApplicationController() { &lt;br /&gt;            ITwitterRepository repository &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; TwitterRepository(); &lt;br /&gt;            IEnumerable&amp;lt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt;&amp;gt; formattedTweets &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; repository.GetFormattedUserTimeLine( &lt;br /&gt;                &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"username"&lt;/span&gt;, &lt;br /&gt;                &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"password"&lt;/span&gt;, &lt;br /&gt;                4); &lt;br /&gt;&lt;br /&gt;            ViewData[&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"userTimeLine"&lt;/span&gt;] &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; formattedTweets; &lt;br /&gt;        } &lt;br /&gt;    } &lt;br /&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;Und im Masterpage View kann kann über das Dictionary darüber iteriert werden: &lt;BR&gt;&lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;% &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;foreach&lt;/span&gt;(&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt; formattedTweet &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;in&lt;/span&gt; (IEnumerable&amp;lt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt;&amp;gt;)ViewData[&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"userTimeLine"&lt;/span&gt;]) { &lt;br /&gt;       %&amp;gt; &lt;br /&gt;        &amp;lt;p&amp;gt; &lt;br /&gt;            &amp;lt;%= formattedTweet %&amp;gt; &lt;br /&gt;        &amp;lt;/p&amp;gt; &lt;br /&gt;       &amp;lt;% &lt;br /&gt;   } &lt;br /&gt;%&amp;gt; &lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;Ist dagegen etwas auszusetzen oder gibt es eine bessere Lösung?&lt;/P&gt;&lt;img src="http://www.aspnetzone.de/aggbug.aspx?PostID=208955" width="1" height="1"&gt;</description><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Tipps/default.aspx">Tipps</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Masterpage/default.aspx">Masterpage</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/ASP.NET%20MVC/default.aspx">ASP.NET MVC</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Controller/default.aspx">Controller</category></item><item><title>ASP.NET MVC Beta Release</title><link>http://www.aspnetzone.de/blogs/peterbucher/archive/2008/10/16/asp-net-mvc-beta-release.aspx</link><pubDate>Thu, 16 Oct 2008 13:13:00 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:203163</guid><dc:creator>Peter Bucher</dc:creator><slash:comments>2</slash:comments><comments>http://www.aspnetzone.de/blogs/peterbucher/comments/203163.aspx</comments><wfw:commentRss>http://www.aspnetzone.de/blogs/peterbucher/commentrss.aspx?PostID=203163</wfw:commentRss><description>&lt;P&gt;Robert hat es schon &lt;A href="http://code-inside.de/blog/2008/10/16/aspnet-mvc-ist-nun-im-beta-status/"&gt;verkündet&lt;/A&gt;, nun muss ich das auch festhalten :)&lt;/P&gt;
&lt;P&gt;ASP.NET MVC ist als Beta verfügbar - es gibt bisher noch keinen Beitrag von Microsoft dazu, aber der Downloadlink wurde schon entdeckt.&lt;BR&gt;Im Verlauf des heutigen Tages wird sich Microsoft sicherlich noch öffentlich dazu äussern, sehr wahrscheinlich mit einem Blogpost von &lt;A href="http://weblogs.asp.net/Scottgu/"&gt;ScottGu&lt;/A&gt;.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=a24d1e00-cd35-4f66-baa0-2362bdde0766&amp;amp;displaylang=en&amp;amp;tm"&gt;ASP.NET MVC Beta Download&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Blogpost von ScottGu: &lt;A href="http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx"&gt;ASP.NET MVC Beta Released&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://www.aspnetzone.de/aggbug.aspx?PostID=203163" width="1" height="1"&gt;</description><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/Beta/default.aspx">Beta</category><category domain="http://www.aspnetzone.de/blogs/peterbucher/archive/tags/ASP.NET%20MVC/default.aspx">ASP.NET MVC</category></item></channel></rss>