<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Fredrik Forsmo</title><link>http://weblogs.asp.net/fredrikforsmo/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Move</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/07/05/f-246-r-er-som-undrar-var-jag-tagit-v-228-gen.aspx</link><pubDate>Mon, 05 Jul 2010 15:54:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7554899</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7554899</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/07/05/f-246-r-er-som-undrar-var-jag-tagit-v-228-gen.aspx#comments</comments><description>
&lt;script type="text/javascript"&gt;
window.location = 'http://promotejs.com/'
&lt;/script&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7554899" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/efoo/default.aspx">efoo</category></item><item><title>Dåligt med inlägg</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/04/22/d-229-ligt-med-inl-228-gg.aspx</link><pubDate>Wed, 21 Apr 2010 22:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7453199</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7453199</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/04/22/d-229-ligt-med-inl-228-gg.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;Tyvärr så kommer det vara dåligt med inlägg en längre tid då det är mycket annat på g. Jag får helt enkelt se när jag får tid att skriva igen! &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7453199" width="1" height="1"&gt;</description></item><item><title>Vilka podcaster följer du?</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/28/vilka-podcaster-f-246-ljer-du.aspx</link><pubDate>Sun, 28 Feb 2010 14:27:41 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7365398</guid><dc:creator>Frozzare</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7365398</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/28/vilka-podcaster-f-246-ljer-du.aspx#comments</comments><description>&lt;p&gt;Det börjar bli en djungel med podcaster, man kan inte följa all man skulle vilja. Men jag tänkte skriva vilka podcaster jag följer. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Boagworld Web Design Advice – En av de större engelska podcasterna om webbdesign och kringgående saker. &lt;a title="http://boagworld.com/" href="http://boagworld.com/"&gt;http://boagworld.com/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Webbradion – En podcast för webbutvecklare av två svenska webbutvecklare. &lt;a title="http://webbradion.net/" href="http://webbradion.net/"&gt;http://webbradion.net/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Slashat.se – Två svenska snubbar som pratar om teknik, vad som är nytt och hett. &lt;a title="http://slashat.se/" href="http://slashat.se/"&gt;http://slashat.se/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Msdn radion – Microsofts svenska podcast för webbutvecklare inom .NET teknik och kringgående saker. &lt;a title="http://msdn.microsoft.com/sv-se/cc678801.aspx" href="http://msdn.microsoft.com/sv-se/cc678801.aspx"&gt;http://msdn.microsoft.com/sv-se/cc678801.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;The Offical jQuery podcast – Som namnet säger, den offical podcasten för jQuery. &lt;a title="http://twitter.com/jquerypodcast" href="http://twitter.com/jquerypodcast"&gt;http://twitter.com/jquerypodcast&lt;/a&gt; / &lt;a title="http://blog.jquery.com/" href="http://blog.jquery.com/"&gt;http://blog.jquery.com/&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Det var nog dom podcaster jag följer aktivt nu, eller så ofta jag hinner. Lite jobbigt att hinna med en 1 timmes podcast på väg till plugget när det tar ca 30 min ;) &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7365398" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/jQuery/default.aspx">jQuery</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/podcast/default.aspx">podcast</category></item><item><title>Uppdatera rss länken!</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/16/uppdatera-rss-l-228-nken.aspx</link><pubDate>Tue, 16 Feb 2010 19:28:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7349635</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7349635</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/16/uppdatera-rss-l-228-nken.aspx#comments</comments><description>Uppdatera din rss länk till bloggen,&amp;nbsp; den nya till rss länken är &lt;a href="http://feeds.feedburner.com/FredrikNetCsharp" mce_href="http://feeds.feedburner.com/FredrikNetCsharp"&gt;http://feeds.feedburner.com/FredrikNetCsharp&lt;/a&gt;&lt;br&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7349635" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/rss/default.aspx">rss</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/feedburner/default.aspx">feedburner</category></item><item><title>Twitter status HtmlHelper del 2</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/10/twitter-status-htmlhelper-del-2.aspx</link><pubDate>Wed, 10 Feb 2010 21:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7311032</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7311032</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/10/twitter-status-htmlhelper-del-2.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;I det tidigare inlägget skrev jag om hur man kunde skapa en HtmlHelper för att kunna visa senaste Twitter statusen för en användaren. I denna del tänkte jag ta upp hur man kan hantera flera användare och styra layouten lite lättare. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Vi utgår från tidigare inlägg, där vi har “TwitterStatus”, “FetchTwitterStatus” funktionerna. Vi börjar med att prata om hur vi kan hantera flera användare, till exempel att den skriver ut den första Twitter statusen från två olika användare. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;I mappen “Models” så skapar vi en klass som heter “Users.cs”, i den skapar vi två klasser, “Users” och “Twitter”. Där “Twitter” ärver av “IEnumerable” som finns i namespacet “System.Collections”. “Users” klassen är väldigt simpel, ser ut såhär.&lt;/font&gt;&lt;/p&gt;  &lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; Users&lt;br&gt;{&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;font color="#000000"&gt;     &lt;/font&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; TwitterAccount { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Det är allt vi behöver “Users” klassen till. I klassen “Twitter” så skapar vi en privat ArrayList med namnet “twitterAccounts”. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; Twitter : IEnumerable&lt;br&gt;{&lt;br&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt; ArrayList twitterAccounts;&lt;br&gt;&lt;br&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; Twitter()&lt;br&gt;    {&lt;br&gt;        twitterAccounts = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; ArrayList();&lt;br&gt;&lt;br&gt;      	twitterAccounts.Add(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Users { TwitterAccount = "&lt;span style="color: rgb(139, 0, 0);"&gt;Frozzare&lt;/span&gt;" });&lt;br&gt;      	twitterAccounts.Add(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Users { TwitterAccount = "&lt;span style="color: rgb(139, 0, 0);"&gt;Vimpyboy&lt;/span&gt;" });&lt;br&gt;     }&lt;br&gt;&lt;br&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; IEnumerator GetEnumerator()&lt;br&gt;     {&lt;br&gt;     	&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; (twitterAccounts &lt;span style="color: rgb(0, 0, 255);"&gt;as&lt;/span&gt; IEnumerable).GetEnumerator();&lt;br&gt;     }&lt;br&gt;&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Våran publika “Twitter” använder vi för att lägga till våra Twitter konton in i ArrayList “twitterAccounts” som vi skapade. “IEnumerator GetEnumerator()” samlar ihop all data, i detta fall twitterAccounts till en collection och returnerar allt som IEnumerable som används för att skriva ut saker till en View i ASP.NET MVC. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;För att skriva ut våra användare med Html.TwitterStatus(int, string, bool), så går vi till en Controller klass, jag väljer “HomeController.cs”. Då lägger vi till “using DittProjekt.Models”, då får vi tillgång till våran Twitter klass. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; ActionResult Page()&lt;br&gt;{&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;font color="#000000"&gt;     &lt;/font&gt;return&lt;/span&gt; View(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Twitter());&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu så behöver vi bara skriva “new Twitter()” inom “View” sedan högerklickar vi på våran kod och väljer “Add View”, då får vi upp denna ruta.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/addviewpage_6C47FD99.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/addviewpage_6C47FD99.png"&gt;&lt;font size="2"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/addviewpage_thumb_15DBC8CD.png" style="border-width: 0px; display: inline;" title="add-view-page" alt="add-view-page" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/addviewpage_thumb_15DBC8CD.png" border="0" width="430" height="425"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Där vi väljer vi våran “Twitter” klass som “View data class” sen så skapar vi sidan. Nu behöver vi importera två namespaces, “DittProjekt.Helpers” för att få fram våran TwitterStatus HtmlHelper från tidigare och “DittProjekt.Models” för att få fram “Users” klassen. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt; foreach (Users u in Model)&lt;br&gt;    {&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt;= Html.TwitterStatus(1, u.TwitterAccount, false) &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt; }  &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu så skriver vi bara “foreache (Users u in Model)” som betyder för varje “u” användare i “Model” som är våran Twitter klass. Sedan är det bara att skriva “u.TwitterAccounts” som användarnamn i våran TwitterStatus HtmlHelper.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu ser vi att det kommer Twitter statusar från två olika användare. Nu tänkte jag prata vidare om hur vi kan hantera layouten lättare. Vi skapar en ny funktion, “TwitterStatusLink” som ser ut såhär&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; TwitterStatusLink(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; HtmlHelper helper, &lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; numberOfMessages, &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt; splitUserNameAndLink)&lt;br&gt;{&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; TwitterHtml(FetchTwitterStatus(username, numberOfMessages).AsQueryable&amp;lt;Twitter&amp;gt;(), splitUserNameAndLink);&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Det inte så konstigt ut? Vi kommer skapa funktionen “TwitterHtml” straxs. I klassen “Twitter” har jag lagt till en sträng för “Username”. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; UserName { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;I funktionen “FetchTwitterStatus” har jag ändrat om lite i våran “foreache” loop som ser ut såhär nu&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2" face="Trebuchet MS"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (XElement elm &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; children)&lt;br&gt;   {&lt;br&gt;        Twitter tw = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Twitter();&lt;br&gt;        tw.Status = elm.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;description&lt;/span&gt;").Value;&lt;br&gt;        tw.DateDiff = DateTime.Parse(elm.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;pubDate&lt;/span&gt;").Value).ToLongDateString();&lt;br&gt;        tw.Link = elm.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;link&lt;/span&gt;").Value;&lt;br&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; splitStatus = tw.Status.Remove(0, user.Length + 1);&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font size="2" face="Trebuchet MS"&gt;        tw.UserName = tw.Status.Remove(user.Length + 1, splitStatus.Length);&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font size="2" face="Trebuchet MS"&gt;        tw.Status = splitStatus; &lt;br&gt;        messages.Add(tw);&lt;br&gt;    }&lt;br&gt;	&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Det jag ändrat i “foreache” loopen är att vi delar på strängen och får ut användarnamnet den vägen så vi kan lägga till det i våran “IList&amp;lt;Twitter&amp;gt;”. Sedan ärver “tw.Status” den strängen vi delat på så vi får bort användarnament från statusen.&amp;nbsp; Notera att jag sätter “tw.Status” under “tw.UserName”.&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; TwitterHtml(IQueryable&amp;lt;Twitter&amp;gt; source, &lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt; splitUserNameAndLink)&lt;br&gt;{&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;font color="#000000"&gt;      &lt;/font&gt;foreach&lt;/span&gt; (var item &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; source)  &lt;br&gt;      {&lt;br&gt;           &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (splitUserNameAndLink)&lt;br&gt;               &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; String.Format("&lt;span style="color: rgb(139, 0, 0);"&gt;{0} &amp;lt;a href=\"{1}\"&amp;gt;{2}&amp;lt;/a&amp;gt; - {3}&lt;/span&gt;", item.UserName, item.Link, item.Status, item.DateDiff);&lt;br&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br&gt;               &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; String.Format("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;a href=\"{0}\"&amp;gt;{1}&amp;lt;/a&amp;gt; - {2}&lt;/span&gt;", item.Link, item.UserName + item.Status, item.DateDiff); ;&lt;br&gt;       }&lt;br&gt;&lt;br&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;.Empty;&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Inga konstigheter? Vi skickar in våran source, som är “FetchTwitterStatus”. Man behöver inte göra om den till “IQueryable” fungerar utmärkt att skriva “IList&amp;lt;Twitter&amp;gt; source” men jag tycker det är trevligare. Ni minns kanske “foreache” loopen från “TwitterStatus” funktionen, det är nästan samma. Skillnaden är att vi tagit bort “StringBuilder” då vi bara ska returnera en sträng. Vi har tagit bort “&amp;lt;ul&amp;gt;” listan då vi kommer lösa det på annat sätt. Vi behöver ha “return” som returnerar en tom sträng om inget i “foreach” loopen inte skulle returnera något.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Det kommer bli en liten skillnad på hur vi skriver ut detta nu. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt; foreach (Users u in Model)&lt;br&gt;   { &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;        &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt;= Html.TwitterStatusLink(1, u.TwitterAccount, true) &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt; } &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter5_1B095CC5.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter5_1B095CC5.png"&gt;&lt;font size="2"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter5_thumb_24821B3B.png" style="border: 0px none; display: inline;" title="twitter-5" alt="twitter-5" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter5_thumb_24821B3B.png" border="0" width="710" height="313"&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Som ni ser på bilden så får vi ingen list formatering. Skulle vi vilja ha en “&amp;lt;ul&amp;gt;” lista så skriver vi det såhär&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ul&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;    &lt;br&gt;    &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt; foreach (Users u in Model)&lt;br&gt;       { &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;li&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt;= Html.TwitterStatusLink(1, u.TwitterAccount, true) &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;li&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;    &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt; } &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ul&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter4_5BE82C69.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter4_5BE82C69.png"&gt;&lt;font size="2"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter4_thumb_7CFB2903.png" style="border: 0px none; display: inline;" title="twitter-4" alt="twitter-4" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter4_thumb_7CFB2903.png" border="0" width="703" height="292"&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt; På det här sättet kan vi styra layouten bättre.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7311032" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/HtmlHelper/default.aspx">HtmlHelper</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/mvc+helper/default.aspx">mvc helper</category></item><item><title>ASP.NET MVC 2 RC2 släppt</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/05/asp-net-mvc-2-rc2-sl-228-ppt.aspx</link><pubDate>Fri, 05 Feb 2010 08:54:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7335263</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7335263</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/02/05/asp-net-mvc-2-rc2-sl-228-ppt.aspx#comments</comments><description>&lt;p&gt;ASP.NET MVC 2 RC2 släpptes igår och finns nu att ladda ner för Visual Studio 2008 hos &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7aba081a-19b9-44c4-a247-3882c8f749e3&amp;amp;displaylang=en" target="_blank" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7aba081a-19b9-44c4-a247-3882c8f749e3&amp;amp;displaylang=en"&gt;Microsoft&lt;br&gt;&lt;/a&gt; Det verkar inte finnas något stöd för Visual Studio 2010 Beta 2 än.&lt;/p&gt;
&lt;p&gt;På &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/02/05/asp-net-mvc-2-release-candidate-2-now-available.aspx%20" target="_blank" mce_href="http://weblogs.asp.net/scottgu/archive/2010/02/05/asp-net-mvc-2-release-candidate-2-now-available.aspx "&gt;ScottGu's blogg&lt;/a&gt; finns en bra beskrivning om ASP.NET MVC RC2 nyheter.&lt;br&gt;&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7335263" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/asp.NET+mvc+rc2/default.aspx">asp.NET mvc rc2</category></item><item><title>Twitter status HtmlHelper</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/13/twitter-status-htmlhelper.aspx</link><pubDate>Wed, 13 Jan 2010 22:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7309979</guid><dc:creator>Frozzare</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7309979</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/13/twitter-status-htmlhelper.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Detta är del ett av två inlägg.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Jag upptäckte i mitt tidigare inlägg hur användbart Htmlhelper var och därför bestämde jag mig för att göra en till. Nämligen en som hämtar det senaste Twitter status(ar) från din Twitter. Vi börjar med att skapa ett nytt ASP.NET 1 (2 Beta) projekt, skapar sedan en mapp som heter “Helpers” och där skapar vi en klass som vi döper till “Html.cs”.Varför vi inte döper den till “HtmlHelper.cs” är för att då kommer det krocka med “HtmlHelper.cs” som redan finns och som vi kommer använda oss av. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Vi får ändra våran Html klass till statisk, “public static class Html”. Vi skapar en statisk sträng som vi döper till “TwitterStatus”. Början av kodstycket ser ut såhär.&lt;/font&gt;&lt;/p&gt;  &lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; TwitterStatus(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; HtmlHelper helper, &lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; numberOfMessages, &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt; splitUserNameAndLink)&lt;br&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;      StringBuilder sb = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; StringBuilder();&lt;br&gt;&lt;br&gt;      sb.AppendLine("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;");&lt;br&gt;      username = username.ToLower();&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;“numberOfMessages” är antal Twitter statusar vi vill visa, det går att visa mellan 0-20 stycken. “username” är alltså vårat användarnamn på Twitter. “splitUserNameAndLink” kommer jag till längre ner. Vi behöver inkludera namespacet “System.Xml.Linq” för att funktionen nedan ska fungera. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; List&amp;lt;Twitter&amp;gt; FetchTwitterStatus(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; numberOfMessages)&lt;br&gt;{&lt;br&gt;&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;font color="#000000"&gt;      &lt;/font&gt;string&lt;/span&gt; user = username;&lt;br&gt;      var messages = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; List&amp;lt;Twitter&amp;gt;();&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; url = "&lt;span style="color: rgb(139, 0, 0);"&gt;http://twitter.com/statuses/user_timeline/&lt;/span&gt;" + user + "&lt;span style="color: rgb(139, 0, 0);"&gt;.rss&lt;/span&gt;";&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt;&lt;br&gt;      {&lt;br&gt;      	    var doc = XElement.Load(url);&lt;br&gt;            var children = (from item &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; doc.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;channel&lt;/span&gt;").Elements("&lt;span style="color: rgb(139, 0, 0);"&gt;item&lt;/span&gt;") select item).Take(numberOfMessages);&lt;br&gt;&lt;br&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (XElement elm &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; children)&lt;br&gt;            {&lt;br&gt;            	  Twitter tw = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Twitter();&lt;br&gt;                  tw.Status = elm.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;description&lt;/span&gt;").Value;&lt;br&gt;                  tw.DateDiff = DateTime.Parse(elm.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;pubDate&lt;/span&gt;").Value).ToLongDateString();&lt;br&gt;                  tw.Link = elm.Element("&lt;span style="color: rgb(139, 0, 0);"&gt;link&lt;/span&gt;").Value;&lt;br&gt;                  messages.Add(tw);&lt;br&gt;             }&lt;br&gt;       }&lt;br&gt;       &lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt; (Exception)&lt;br&gt;       {&lt;br&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; ArgumentException("&lt;span style="color: rgb(139, 0, 0);"&gt;No twitter rss&lt;/span&gt;");&lt;br&gt;       }&lt;br&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; messages;&lt;br&gt;}&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; Twitter&lt;br&gt;{ &lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Status { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Link { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; DateDiff { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;br&gt;}&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu blev det mycket kod. Vi har alltså skapat en List&amp;lt;T&amp;gt; funktion, där &amp;lt;T&amp;gt; är klassen Twitter. Vi har våran “username” sträng från tidigare och “numberOfMessages”. Längre ner i kodstycket har vi en try {…}. Där vi laddar in våran xml fil, alltså Twitter rss. Med hjälp av Linq to XML så tar vi oss in en bit i xml upplägget och sen kan vi börja plocka ut det vi vill ha. I “foreache” loopen så plockar vi ut statusen, datumet och länken och lägger sedan till i våran “messages” lista som skapades tidigare. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Skulle den inte finna användaren eller något annat dyker upp. Så får vi ett fel “No twitter rss”. Då brukar det vara något fel på användarnamnet eller så är det något problem hos Twitter (vilket inte händer så ofta). Men skulle vi inte få något fel så returnar vi “messages” och får alltså ut det antal statusar vi vill. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu kan vi bygga klart våran funktion som vi höll på med. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;foreach&lt;/span&gt; (var item &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; FetchTwitterStatus(username, numberOfMessages))&lt;br&gt;     {&lt;br&gt;           &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (splitUserNameAndLink)&lt;br&gt;           {&lt;br&gt;               &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; splitStatus = item.Status.Remove(0, username.Length + 1);&lt;br&gt;               &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; userName = item.Status.Remove(username.Length + 1, splitStatus.Length);&lt;br&gt;&lt;br&gt;               sb.AppendLine(String.Format("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;li&amp;gt;{0} &amp;lt;a href=\"{1}\"&amp;gt;{2}&amp;lt;/a&amp;gt; - {3}&amp;lt;/li&amp;gt;&lt;/span&gt;", userName, item.Link, splitStatus, item.DateDiff));&lt;br&gt;           }&lt;br&gt;           &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br&gt;           {&lt;br&gt;               sb.AppendLine(String.Format("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;li&amp;gt;&amp;lt;a href=\"{0}\"&amp;gt;{1}&amp;lt;/a&amp;gt; - {2}&amp;lt;/li&amp;gt;&lt;/span&gt;", item.Link, item.Status, item.DateDiff));&lt;br&gt;           }&lt;br&gt;     }&lt;br&gt;&lt;br&gt;     sb.AppendLine("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;");&lt;br&gt;&lt;br&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; sb.ToString();&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;}&lt;br&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu så kan vi komma tillbaks till “splitUserNameLink”, om den sätts till “true” så har jag gjort så att den tar bort användarnamnet från länken och skriver det före länken, Användarnamn: Länken till min status – datumet. Annars om den sätts till “false” så blir allt förutom datumet en länk till den statusen. När vi sedan har plockat ut allt från “FetchTwitterStatus” så kan vi returnar våran TwitterStatus HtmlHelper.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;För att visa detta nu så lägger vi till “Import Namespace=”DittProjekt.Helpers””. För att sedan kunna skriva ut detta.&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt;= Html.TwitterStatus(5, "användarnamn", true) &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Där 5 är ett nummer mellan 0-20. Nu bör vi få ett resultat liknande detta: &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Med “splitUserNameAndLink” satt till “true”&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter120100113_63638E92.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter120100113_63638E92.png"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter120100113_thumb_77107826.png" style="border-width: 0px; display: inline;" title="twitter-1-20100113" alt="twitter-1-20100113" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter120100113_thumb_77107826.png" width="518" border="0" height="362"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Med “splitUserNameAndLink” satt till “false”&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter220100113_150E861B.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/twitter220100113_150E861B.png"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter220100113_thumb_7ACE1CF6.png" style="border-width: 0px; display: inline;" title="twitter-2-20100113" alt="twitter-2-20100113" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/twitter220100113_thumb_7ACE1CF6.png" width="507" border="0" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Jag kommer göra en efterföljare på detta inlägg, där jag kommer ta upp mer om hur man kan arbeta med flera användarkonton och hur man gör det lättare att styra layouten.&lt;/b&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7309979" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/HtmlHelper/default.aspx">HtmlHelper</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Twitter/default.aspx">Twitter</category></item><item><title>Gravatar HtmlHelper</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/13/gravatar-htmlhelper.aspx</link><pubDate>Wed, 13 Jan 2010 20:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7309926</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7309926</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/13/gravatar-htmlhelper.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;För er som inte vet vad &lt;/font&gt;&lt;a href="http://sv.gravatar.com/" mce_href="http://sv.gravatar.com/"&gt;&lt;font size="2"&gt;Gravatar&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; är så är det en tjänst som sparar din “avatar” bild åt dig och en del bloggsystem har just Gravatar som tjänst för att visa “avatar” bilder.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Jag tänkte visa hur lätt det är att skapa en egen &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.aspx"&gt;&lt;font size="2"&gt;HtmlHelper&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; funktion. Vi väljer att skapa ett nytt ASP.NET MVC 1 (2 Beta) projekt där vi sedan lägger till en mapp som heter “Helpers”. Där så skapar vi en ny klass som heter ”Html.cs” då HtmlHelper redan är en klass som vi kommer använda oss av så är det inge smart att döpa den till samma sak. Vi måste sätta dit “static” på våran klass, alltså “public static class Html”. Vi skapar lägger till denna kod snutt. &lt;/font&gt;&lt;/p&gt;  &lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; Gravatar(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; HtmlHelper helper, &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; email)&lt;br&gt;{&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;       return&lt;/span&gt; GravatarImageHtml(gravatarUrl + getMd5Hash(email.ToLower()));&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Detta är alltså våran HtmlHelper funktion, så när vi skriver &amp;lt;%= Html.Gravatar(&lt;/font&gt;&lt;a href="mailto:%E2%80%9Chej@dinadress.se" mce_href="mailto:“hej@dinadress.se"&gt;&lt;font size="2"&gt;“hej@dinadress.se&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;”) %&amp;gt; kommer din Gravatar bild att renderas. GravatarImageHtml(url) är en public static string som retunerar en img html tag, där &lt;/font&gt;&lt;a href="http://weblogs.asp.net/controlpanel/blogs/en" mce_href="en"&gt;&lt;font size="2"&gt;url:en&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; är länken till Gravatar bilden som ska visas. “ToLower” betyder att vi gör alla bokstäver till små bokstäver, så ifall en e-postadress ser utsåhär: &lt;/font&gt;&lt;a href="mailto:hej@DInAdResS.se" mce_href="mailto:hej@DInAdResS.se"&gt;&lt;font size="2"&gt;hej@DInAdResS.se&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; så blir den &lt;/font&gt;&lt;a href="mailto:hej@dinadress.se" mce_href="mailto:hej@dinadress.se"&gt;&lt;font size="2"&gt;hej@dinadress.se&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; GravatarImageHtml(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; url)&lt;br&gt;{&lt;br&gt;	&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; String.Format("&lt;span style="color: rgb(139, 0, 0);"&gt;&amp;lt;img src=\"{0}\" class=\"gravatar-image\" /&amp;gt;&lt;/span&gt;", url);&lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Gravatar har md5hash som sitt filnamn till en bild, alltså &lt;/font&gt;&lt;a href="mailto:hej@dinadress.se" mce_href="mailto:hej@dinadress.se"&gt;&lt;font size="2"&gt;hej@dinadress.se&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; blir massor utav bokstäver och siffror. Därför behöver vi skapa en funktion som gör om e-postadressen till just detta.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; getMd5Hash(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; input)&lt;br&gt;{&lt;br&gt;      MD5 md5Hasher = MD5.Create();&lt;br&gt;&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;byte&lt;/span&gt;[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));&lt;br&gt;&lt;br&gt;      StringBuilder sb = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; StringBuilder();&lt;br&gt;&lt;br&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt; i = 0; i &amp;lt; data.Length; i++)&lt;br&gt;      {&lt;br&gt;      	sb.Append(data[i].ToString("&lt;span style="color: rgb(139, 0, 0);"&gt;x2&lt;/span&gt;"));&lt;br&gt;      }&lt;br&gt;&lt;br&gt;	&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; sb.ToString();  &lt;br&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;För dom som vill läsa på om vad md5hash så finns det en bra länk här: &lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx" title="http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx" mce_href="http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx"&gt;&lt;font size="2"&gt;http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; Vår “gravatarUrl” ser helt enkelt ut såhär. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; gravatarUrl = "&lt;span style="color: rgb(139, 0, 0);"&gt;http://www.gravatar.com/avatar.php?gravatar_id=&lt;/span&gt;";&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Där “gravatar_id” är md5hash av våran e-postadress. Nu så går vi till våran View sida vi använda och lägger till “Import Namespace=”DittProjekt.Helpers”” sen kan vi bara skriva&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;&amp;lt;%&lt;/span&gt;= Html.Gravatar("hej@dinadress.se") &lt;span style="background-color: rgb(255, 255, 0); color: black;"&gt;%&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu så bör vi få ett resultat liknande detta.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/gravatar_20100113_6F90E3FB.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/gravatar_20100113_6F90E3FB.png"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/gravatar_20100113_thumb_4D58D875.png" style="border-width: 0px; display: inline;" title="gravatar_20100113" alt="gravatar_20100113" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/gravatar_20100113_thumb_4D58D875.png" width="340" border="0" height="316"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7309926" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Gravatar/default.aspx">Gravatar</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/HtmlHelper/default.aspx">HtmlHelper</category></item><item><title>Börja med Bing kartor och Silverlight</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/12/b-246-rja-med-bing-kartor-och-silverlight.aspx</link><pubDate>Tue, 12 Jan 2010 21:58:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7308724</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7308724</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/12/b-246-rja-med-bing-kartor-och-silverlight.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2"&gt;Jag tänkte hur man kommer igång med Bing kartor och Silverlight. Vi börjar med att hämta &lt;/font&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1ea49236-0de7-41b1-81c8-a126ff39975b" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1ea49236-0de7-41b1-81c8-a126ff39975b"&gt;&lt;font size="2"&gt;Silverlight 3 SDK&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; (det går lika bra att använda &lt;/font&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=a53019b2-4370-4e8a-a940-518f538c759f" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=a53019b2-4370-4e8a-a940-518f538c759f"&gt;&lt;font size="2"&gt;Silverlight 4 SDK Beta&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;) och &lt;/font&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=beb29d27-6f0c-494f-b028-1e0e3187e830" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=beb29d27-6f0c-494f-b028-1e0e3187e830"&gt;&lt;font size="2"&gt;Bing Maps Silverlight Control SDK&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;. Vi behöver också besöka Microsofts webbplats, &lt;/font&gt;&lt;a href="https://www.bingmapsportal.com/" mce_href="https://www.bingmapsportal.com/"&gt;&lt;font size="2"&gt;Bing Maps Account Center&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; för att få en hemlig nyckel.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Vi väljer att skapa en ny Silverlight applikation. Man får en fråga om man vill lägga till en webbapplikation till våran Silverlight applikation, det är inget måste. Det går lika bra utan att lägga till en webbapplikation, då kommer programmet generera en .html sida när vi test kör våran applikation.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;När vi skapat Silverlight applikationen så lägger vi till referenser till Microsoft.Maps.MapControl.dll som vi finner i “&lt;i&gt;C:\Program\Bing Maps Silverlight Control\V1\Libraries\”&lt;/i&gt; (Program (x86) ifall du kör 64-bitar).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Nu när detta är gjort så kan vi lägga till en namespace i våran MainPage.xaml. &lt;/font&gt;&lt;/p&gt;  &lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;xmlns:m="&lt;span style="color: rgb(139, 0, 0);"&gt;clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl&lt;/span&gt;"&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Nu börjar arbetet med att utforma koden för kartan. I våran Grid tagg så kan vi lägga till en m:Map för att visa kartan .&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;CredentialsProvider&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"Din egna nyckel"&lt;/span&gt; &amp;lt;/&lt;span style="color: rgb(255, 0, 0);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(255, 0, 0);"&gt;Map&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Detta kommer nu visa Bing kart i din Silverlight applikation. Man kan lägga till Zoomlevel=”x” där x är så mycket du vill att kartan ska vara inzoomat. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Center=”x,x” ställer in vilken plats på kartan som ska visas när applikationen startas. Till exempel: Center="61.71816218644379, 17.33600065112114" som visar Sverige. Koordinaterna kan man hämta på &lt;/font&gt;&lt;a href="http://www.bing.com/maps/" mce_href="http://www.bing.com/maps/"&gt;&lt;font size="2"&gt;Bing Maps&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; och klicka på “Share your map”, ikonen ser ut som ett brev. &lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;Det finns två lägen att visa kartan i. Det enda läget är “Road” och det andra är “Aerial”. Genom att skriva Mode=”Road” så kommer “Road” kartan visas när applikationen körs igång.&lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;CredentialsProvider&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"Din nyckel här"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Mode&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"Road"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ZoomLevel&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"5"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Center&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"61.71816218644379, 17.33600065112114"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; &lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;För att lägga till en kartnål så kan man skriva m:Pushpin inom m:Map taggen. &lt;/font&gt;&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt; ...&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;	&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Pushpin&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Location&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"59.331959746778026, 18.062450140714645"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;span&gt;&lt;font size="2"&gt;Där “59.331959746778026, 18.062450140714645” pekar på Stockholm. &lt;/font&gt;&lt;/span&gt;Den slutliga xamlkoden ser ut såhär.&lt;/p&gt;

&lt;pre&gt;&lt;font size="2"&gt;&lt;font face="Trebuchet MS"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;UserControl&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x&lt;/span&gt;:&lt;span style="color: rgb(255, 0, 0);"&gt;Class&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"SilverlightBingMapDemo1.MainPage"&lt;/span&gt;&lt;br&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/span&gt;&lt;br&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns&lt;/span&gt;:&lt;span style="color: rgb(255, 0, 0);"&gt;x&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/span&gt;&lt;br&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;Height&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"500"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Width&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"700"&lt;/span&gt;&lt;br&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;xmlns&lt;/span&gt;:&lt;span style="color: rgb(255, 0, 0);"&gt;m&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Grid&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;x&lt;/span&gt;:&lt;span style="color: rgb(255, 0, 0);"&gt;Name&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"LayoutRoot"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Background&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"White"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;CredentialsProvider&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"Din kod här"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Mode&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"Road"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;ZoomLevel&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"5"&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Center&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"61.71816218644379, 17.33600065112114"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;                &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Pushpin&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;Location&lt;/span&gt;=&lt;span style="color: rgb(0, 0, 255);"&gt;"59.331959746778026, 18.062450140714645"&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;br&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(199, 21, 133);"&gt;m&lt;/span&gt;:&lt;span style="color: rgb(128, 0, 0);"&gt;Map&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;Grid&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;UserControl&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;font size="2"&gt;Det slutliga resultatet:&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredrikforsmo/SilverlightBingMapDemo1.png" mce_href="http://weblogs.asp.net/blogs/fredrikforsmo/SilverlightBingMapDemo1.png"&gt;&lt;img src="http://weblogs.asp.net/blogs/fredrikforsmo/SilverlightBingMapDemo1_23D93EFF.png" style="border-width: 0px; display: inline;" title="SilverlightBingMapDemo1" alt="SilverlightBingMapDemo1" mce_src="http://weblogs.asp.net/blogs/fredrikforsmo/SilverlightBingMapDemo1_23D93EFF.png" width="888" border="0" height="645"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Lägger man till detta namespace så kan man aktivera så att den ska ignorera design höjden och bredden så man får kartan på hela fönstret.&lt;/p&gt;

&lt;pre&gt;&lt;font face="Trebuchet MS" size="2"&gt;xmlns:mc="&lt;span style="color: rgb(139, 0, 0);"&gt;&lt;a href="http://schemas.openxmlformats.org/markup-compatibility/2006%22" mce_href="http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;"&gt;http://schemas.openxmlformats.org/markup-compatibility/2006&lt;/a&gt;&lt;/span&gt;&lt;a href="http://schemas.openxmlformats.org/markup-compatibility/2006%22" mce_href="http://schemas.openxmlformats.org/markup-compatibility/2006&amp;quot;"&gt;"&lt;/a&gt;&lt;/font&gt;&lt;br&gt;&lt;/pre&gt;

&lt;p&gt;Sen är det bara att lägga till mc:Ignorable=”d” i UserControl taggen.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7308724" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Bing/default.aspx">Bing</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Bing+Maps/default.aspx">Bing Maps</category></item><item><title>Årets första Msdn radio</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/12/197-rets-f-246-rsta-msdn-radio.aspx</link><pubDate>Tue, 12 Jan 2010 10:14:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7308031</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7308031</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2010/01/12/197-rets-f-246-rsta-msdn-radio.aspx#comments</comments><description>&lt;p&gt;Nu har årets första Msdn radio avsnitt släppts. Jag medverkade i en intervju som finns i det första Msdn radio avsnittet. Texten nedan har jag kopierat från Channel9 hemsida. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;span id="ctl00_MainPlaceHolder_Starter_BodyLabel"&gt;&lt;p&gt;Välkommen till ett nytt år och till ett nytt fräscht avsnitt av MSDN Radio. Idag med &lt;a href="http://buzzfrog.blogs.com/"&gt;Dag König&lt;/a&gt; och Danwei Tran.&lt;/p&gt;
&lt;p&gt;Nedladdningar&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://buzzfrog.blogs.com/zabrak/2010/01/virtuella-miljer-fr-att-testa-visual-studio-2010-beta-2.html"&gt;Visual Studio 2010 Beta 2 virtuella miljöer&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Tess Corner&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/10/19/vs-2010-beta-2-intellitrace-in-depth-first-look.aspx"&gt;Visual Studio 2010 Intellitrace&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Länkar&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439767&amp;amp;Culture=sv-SE"&gt;Visual Studio Lab Manager ifrån A till Ö, den 11 Feb i Stockholm&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/sverige/techdays/"&gt;TechDays 2010&lt;/a&gt;&amp;nbsp;i Örebro &lt;/li&gt;&lt;li&gt;&lt;a href="http://live.visitmix.com/"&gt;Mix10&lt;/a&gt; i Las Vegas &lt;/li&gt;&lt;li&gt;Fredrik Forsmos &lt;a href="http://www.aspsidan.se/default.asp?page=showNews&amp;amp;intNewsLinkID=73"&gt;vinnande bidrag&lt;/a&gt; på ASPsidan&amp;nbsp; &lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Msdn radio avsnittet finner du på denna &lt;a href="http://channel9.msdn.com/posts/buzzfrog/MSDN-Radio-11-Jan--Tess-Corner/" target="_blank" mce_href="http://channel9.msdn.com/posts/buzzfrog/MSDN-Radio-11-Jan--Tess-Corner/"&gt;länk &lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7308031" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/ASpsidan/default.aspx">ASpsidan</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Msdn+radio/default.aspx">Msdn radio</category><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Channel9/default.aspx">Channel9</category></item><item><title>Urlförkortnings tjänster en bra idé, men till vilken webbplats kommer jag till?</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/30/urlf-246-rkortnings-tj-228-nster-en-bra-id-233-men-till-vilken-webbplats-kommer-jag-till.aspx</link><pubDate>Wed, 30 Dec 2009 22:58:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7295699</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7295699</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/30/urlf-246-rkortnings-tj-228-nster-en-bra-id-233-men-till-vilken-webbplats-kommer-jag-till.aspx#comments</comments><description>&lt;p&gt;Idén med urlförkortnings tjänster är ju bra. Men man vet inte vilken webbplats man hamnar på utan att klicka på länken? Man kan skapa sitt lilla egna program som upptäcker vart man kommer ganska enkelt.&lt;/p&gt;

&lt;p&gt;Vi behöver lägga till en referens till&amp;nbsp; "System.Net" för att få till gång till HttpWebRequest. Jag har skapat en vanlig sträng med namnet url. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;HttpWebRequest webReq = WebRequest.Create(url) &lt;span class="kwrd"&gt;as&lt;/span&gt; HttpWebRequest;&lt;/pre&gt;
&lt;pre&gt;webReq.AllowAutoRedirect = &lt;span class="kwrd"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;HttpWebResponse webResp = webReq.GetResponse() &lt;span class="kwrd"&gt;as&lt;/span&gt; HttpWebResponse;&lt;/pre&gt;
&lt;pre&gt;webResp.Close();&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br&gt;Vi börjar med att skapa en WebRequest till webbadressen vi har i strängen url. Vi sätter AllowAutoRedirect till true för att tillåta att vi skickas vidare till den nya platsen. &lt;br&gt;Sedan så fångar vi upp svaret vi får från den nya webbplatsen vi kommit till. &lt;br&gt;&lt;/p&gt;

&lt;p&gt;Så med HttpWebResponse kan vi ta reda på vilken adress den nya webbplatsen har. Det Skriver vi ut genom webResp.ResponseUri.&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;{&lt;/pre&gt;
&lt;pre class="alt"&gt;     &lt;span class="kwrd"&gt;if&lt;/span&gt; (webResp.ResponseUri != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;pre&gt;     {&lt;/pre&gt;
&lt;pre class="alt"&gt;         Console.Write(&lt;span class="str"&gt;"{0} --&amp;gt; {1}\n\r"&lt;/span&gt;, url, webResp.ResponseUri);&lt;/pre&gt;
&lt;pre&gt;     }&lt;/pre&gt;
&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;     &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;     {&lt;/pre&gt;
&lt;pre&gt;         Console.Write(&lt;span class="str"&gt;"No response url"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre class="alt"&gt;     }&lt;/pre&gt;
&lt;pre&gt;}&lt;/pre&gt;
&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;
&lt;pre class="alt"&gt;{&lt;/pre&gt;
&lt;pre&gt;    Console.Write(ex.Message);&lt;/pre&gt;
&lt;pre class="alt"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Tänk på att börja den korta adressen med http://. Exempel: (&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://bit.ly/6WXrb2" class="tweet-url web" rel="nofollow" target="_blank"&gt;http://bit.ly/6WXrb2&lt;/a&gt;)&lt;br&gt;Ladda gärna ner exemplet. Öppna helst med Visual Studio 2010 Beta 2, då det är där jag har byggt denna lilla applikation.&lt;br&gt;&lt;/p&gt;
&lt;iframe src="http://cid-53cf8bf236fcf661.skydrive.live.com/embedicon.aspx/Blogg/Exempel/WithUrl.zip" title="Preview" marginheight="0" marginwidth="0" style="padding: 0pt; width: 98px; height: 115px; background-color: rgb(252, 252, 252);" mce_src="http://cid-53cf8bf236fcf661.skydrive.live.com/embedicon.aspx/Blogg/Exempel/WithUrl.zip" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7295699" width="1" height="1"&gt;</description></item><item><title>Vinnare utav programmeringstävling</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/21/vinnare-utav-programmeringst-228-vling.aspx</link><pubDate>Mon, 21 Dec 2009 14:08:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7286802</guid><dc:creator>Frozzare</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7286802</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/21/vinnare-utav-programmeringst-228-vling.aspx#comments</comments><description>
&lt;p&gt;Jag vann en programmeringstävling som Aspsidan höll. Mer information på länken&lt;/p&gt;
&lt;p&gt;&lt;a href="http://buzzfrog.blogs.com/zabrak/2009/12/fredrik-forsmo-r-vinnaren-av-vs2010-tvlingen-p-aspsidan.html" mce_href="http://buzzfrog.blogs.com/zabrak/2009/12/fredrik-forsmo-r-vinnaren-av-vs2010-tvlingen-p-aspsidan.html"&gt;http://buzzfrog.blogs.com/zabrak/2009/12/fredrik-forsmo-r-vinnaren-av-vs2010-tvlingen-p-aspsidan.html &lt;/a&gt; &lt;br&gt;&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7286802" width="1" height="1"&gt;</description></item><item><title>Tips: Hur du upptäcker äldre versioner av Internet Explorer med jQuery</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/20/tips-hur-du-uppt-228-cker-228-ldre-versioner-av-internet-explorer-med-jquery.aspx</link><pubDate>Sun, 20 Dec 2009 16:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7285774</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7285774</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/20/tips-hur-du-uppt-228-cker-228-ldre-versioner-av-internet-explorer-med-jquery.aspx#comments</comments><description>&lt;p&gt;Det är inte okänt att man vill att fler ska byta till nyare version av Internet Explorer så att man kan slopa stödet för Internet Explorer 6 när man skapar webbplatser. &lt;/p&gt;
&lt;p&gt;Ett tips på hur du upptäcker om användaren har Internet Explorer 6. Du kan ändra "6.0" för att byta Internet Explorer version.&lt;br&gt;&lt;/p&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt;($.browser.msie &amp;amp;&amp;amp; $.browser.version==&lt;span class="str"&gt;"6.0"&lt;/span&gt;)&lt;/pre&gt;
&lt;pre&gt;{&lt;/pre&gt;
&lt;pre class="alt"&gt;   &lt;span class="rem"&gt;// Gör vad du nu vill &lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;} &lt;/pre&gt;&lt;pre&gt;&amp;nbsp; &lt;br&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7285774" width="1" height="1"&gt;</description></item><item><title>jQuery 1.4 Alpha 2 Released</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/19/jquery-1-4-alpha-2-released.aspx</link><pubDate>Sat, 19 Dec 2009 02:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7284121</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7284121</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2009/12/19/jquery-1-4-alpha-2-released.aspx#comments</comments><description>&lt;p&gt;Nu har jQuery 1.4 Alpha 2 släppts. &lt;br&gt;&lt;/p&gt;&lt;p&gt;Mer informatiom och nerladdningar finns här:&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.jquery.com/2009/12/18/jquery-14-alpha-2-released/" target="_blank" mce_href="http://blog.jquery.com/2009/12/18/jquery-14-alpha-2-released/"&gt;http://blog.jquery.com/2009/12/18/jquery-14-alpha-2-released/ &lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7284121" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/jQuery/default.aspx">jQuery</category></item><item><title>Visual Studio 2010 Countdown</title><link>http://weblogs.asp.net/fredrikforsmo/archive/2009/11/06/visual-studio-2010-countdown.aspx</link><pubDate>Fri, 06 Nov 2009 07:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7248198</guid><dc:creator>Frozzare</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredrikforsmo/rsscomments.aspx?PostID=7248198</wfw:commentRss><comments>http://weblogs.asp.net/fredrikforsmo/archive/2009/11/06/visual-studio-2010-countdown.aspx#comments</comments><description>&lt;style type="text/css"&gt;
    div#widget { position: relative; width: 250px; height: 155px; }
    body ul#cntdwn { width: 250px; height: 80px; background: transparent url(http://toysfortweets.com/visualstudiowidget/cntdwn-bg.png) no-repeat scroll left top; list-style-type: none; text-align: center; padding: 74px 0 0 0; margin: 0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
    body ul#cntdwn li { float: left; margin: 0 8px 0 0; background: transparent url(http://toysfortweets.com/visualstudiowidget/number-bg.png) no-repeat scroll left top; padding: 0 0 5px 7px; }
    body ul#cntdwn li.first { margin-left: 20px; }
    body ul#cntdwn li em { display: block;  color: #111; font-size: 1.6em; font-style: normal; font-weight: bold; background: transparent url(http://toysfortweets.com/visualstudiowidget/number-cap.png) no-repeat scroll right top; padding: 3px 7px 0 0; height: 35px; margin-bottom: -5px; }
    div#widget a#link { display: block; width: 250px; height: 155px; position: absolute; top: 0; left: 0; }
&lt;/style&gt;
&lt;script src="http://toysfortweets.com/visualstudiowidget/countdown.js" language="javascript" mce_src="http://toysfortweets.com/visualstudiowidget/countdown.js"&gt; &lt;/script&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;Tips för er som vill ha en countdown på eran sida/blog: &lt;a href="http://blogs.msdn.com/jeffbe/archive/2009/10/23/visual-studio-2010-launch-countdown-sidebar-widget.aspx" target="_blank" mce_href="http://blogs.msdn.com/jeffbe/archive/2009/10/23/visual-studio-2010-launch-countdown-sidebar-widget.aspx"&gt;Visual Studio 2010 Countdown&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7248198" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredrikforsmo/archive/tags/Visua+Studio+2010/default.aspx">Visua Studio 2010</category></item></channel></rss>