<?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 Normén</title><link>http://weblogs.asp.net/fredriknormen/default.aspx</link><description>ASP.NET, AJAX, Silverlight, RIA, Architecture, Clean Code</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Build, first day</title><link>http://weblogs.asp.net/fredriknormen/archive/2011/09/14/build-first-day.aspx</link><pubDate>Wed, 14 Sep 2011 13:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7952346</guid><dc:creator>Fredrik N</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7952346</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2011/09/14/build-first-day.aspx#comments</comments><description> 

It was an interesting day at the Microsoft Build Conference. I will in this blog post share some of the things that were presented during the first Keynote and big screen day.
&lt;br&gt;&lt;br&gt;The keynote started to present Windows 8, and the Metro (The new GUI). Focus was on the new user experience and UI. As many of you have probably already seen, the UI is similar to Windows Phone 7 and is created for touch. The idea of the Metro UI is to bring everything in front of the user, easy to find what they want and need.

Microsoft wanted to make Windows 7 even better. Everything that runs on Windows 7 runs on Windows 8.&lt;br&gt;&lt;br&gt;They reimage Windows to experience a new range of capabilities, scenarios, and factors. Windows 8 uses about 281 Mb memories and in the size an antivirus program is also running.


One feature I like the most was the Spell Checking through the whole system
Windows 8 will be a great new platform for developers.&lt;br&gt;&lt;br&gt;Developers can use the new WinRT API to build great apps, they can use different kind of languages, like HTML/CSS and Java-script, XAML and C# or VB, C or C++. The interesting part is HTML and Java-script. It will make it much easier to move web developers into writing Mobile apps and Windows 8 apps in an easy way.


App developers want rich connectivity and sharing capabilities, connection to customers. Reach every customer using Windows. Touch will be the future, and the WinRT deliver it all. Developer can use the WinRT APIs for Communication &amp;amp; Data, Graphics &amp;amp; Media, Devices and Printing. 


Contracts can be used to make app communicate with each other, an example of an Contract is the "Search Contract", that can be used to hook up an app into the Windows 8 "search engine". There are different ways apps can communicate with each other, loacaly, Scheduled or with Push (using Windows Push Notification WSN). With Tiles developer can extend the apps with information instead of using an icon.&lt;br&gt;&lt;br&gt;Developers will get a set of great of tools for writing Windows 8 apps. With Visual Studio 11 and Expression Blend 5, developers can be up and running in a short time by using predefined templates. Expression Blend 5 will now handle HTML and Java-script, and Blend is now integrated into Visual Studio 11. Visual Studio 11 also has a simulation feature when it comes to debugging, so developers could select for example a Slate and hit debug, and a simulation of a Slate will appear.

&lt;br&gt;&lt;br&gt;The new platform will have a great set of Could Services to make it easier to share images etc with friends over the cloud, apps working together. Apps are connected to each other and the cloud. Pull information from other apps. A tiny API can be used for this for developers.


Microsoft will also give developers and customers access to Windows Store, it will make it much easier to buy and sell apps. This will probably also boost and increase development of apps for Windows 8. Within Visual Studio 11, developers can easily package apps and publish them to the Windows Store; they just use the Store menu in Visual Studio 11.&lt;br&gt;&lt;br&gt;Everyone at Build got a Developer Preview of Samsung’s iCore5 Slate with a Developer Preview of Windows 8, Expression Blend 5 and Visual Studio 11 Express. So now the fun can begin.


You can download the bits by yourself at the Windows developer center: &lt;a href="http://dev.windows.com" mce_href="http://dev.windows.com"&gt;http://dev.windows.com&lt;/a&gt;. If you follow me on twitter (&lt;a href="http://www.twitter.com/fredrikn" mce_href="http://www.twitter.com/fredrikn"&gt;@fredrikn&lt;/a&gt;), you can read more about what will be presented during the conference. Tomorrow there will be a keynote, and then a lot of sessions, I will probably attend the HTML5 sessions and some other sessions like ASP.NET 4.5 and C# 5 etc.&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7952346" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/HTML/default.aspx">HTML</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Build/default.aspx">Build</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Windows+8/default.aspx">Windows 8</category></item><item><title>Update on ASP.NET Vulnerability</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/09/25/update-on-asp-net-vulnerability.aspx</link><pubDate>Sat, 25 Sep 2010 07:15:36 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7620144</guid><dc:creator>Fredrik N</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7620144</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/09/25/update-on-asp-net-vulnerability.aspx#comments</comments><description>&lt;p&gt;Scott Guthrie updated his blog with more info about the ASP.NTE Vulnerability, check it out here: &lt;a title="http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx" href="http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7620144" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/ASP.Net/default.aspx">ASP.Net</category></item><item><title>Vulnerability in ASP.Net</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/09/18/vulnerability-in-asp-net.aspx</link><pubDate>Sat, 18 Sep 2010 08:18:58 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7614584</guid><dc:creator>Fredrik N</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7614584</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/09/18/vulnerability-in-asp-net.aspx#comments</comments><description>&lt;p&gt;I would recommend all of you who are managed ASP.Net application to read this:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.technet.com/b/msrc/archive/2010/09/17/security-advisory-2416728-released.aspx" href="http://blogs.technet.com/b/msrc/archive/2010/09/17/security-advisory-2416728-released.aspx"&gt;http://blogs.technet.com/b/msrc/archive/2010/09/17/security-advisory-2416728-released.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7614584" width="1" height="1"&gt;</description></item><item><title>Make sure the web.config pages/namespace can be used together with ASP.NET MVC 3 P1 and Razor</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/08/04/make-sure-the-web-config-pages-namespace-can-be-used-together-with-asp-net-mvc-3-p1-and-razor.aspx</link><pubDate>Wed, 04 Aug 2010 09:24:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7578425</guid><dc:creator>Fredrik N</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7578425</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/08/04/make-sure-the-web-config-pages-namespace-can-be-used-together-with-asp-net-mvc-3-p1-and-razor.aspx#comments</comments><description>&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Note: This blog post is based on the ASP.NET MVC 3.0 Preview 1.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The following section is from &lt;A href="http://www.forkcan.com/" mce_href="http://www.forkcan.com"&gt;Forkcan.com&lt;/A&gt; (If you didn’t know, you can get code shared to ForkCan.com on your blog, &lt;A href="http://weblogs.asp.net/fredriknormen/archive/2010/07/25/integrate-your-blog-or-sites-with-forkcan-com.aspx" mce_href="http://weblogs.asp.net/fredriknormen/archive/2010/07/25/integrate-your-blog-or-sites-with-forkcan-com.aspx"&gt;read more here about it&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;
&lt;SCRIPT type=text/javascript src="http://www.forkcan.com/share/view/226?highlight=true" mce_src="http://www.forkcan.com/share/view/226?highlight=true"&gt;&lt;/SCRIPT&gt;
&lt;/P&gt;
&lt;P&gt;If you want to know when I publish a new blog post you can follow me on twitter: &lt;A href="http://www.twitter.com/fredrikn" mce_href="http://www.twitter.com/fredrikn"&gt;@fredrikn&lt;/A&gt;&lt;/P&gt;&lt;/SCRIPT&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7578425" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/ASP.Net/default.aspx">ASP.Net</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/.Net/default.aspx">.Net</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/MVC3.0/default.aspx">MVC3.0</category></item><item><title>ASP.Net MVC 3.0 Preview 1, Razor and nested master pages</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/08/01/asp-net-mvc-3-0-preview-1-razor-and-nested-master-pages.aspx</link><pubDate>Sun, 01 Aug 2010 08:16:40 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7576879</guid><dc:creator>Fredrik N</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7576879</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/08/01/asp-net-mvc-3-0-preview-1-razor-and-nested-master-pages.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Note: This blog posts is based on the ASP.NET MVC 3.0 Preview 1.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In this blog post I will explain how I have created a nested master page in &lt;a href="http://www.forkcan.com"&gt;ForkCan.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Here is the master of the master pages ;) (_Loyout.cshtml) (I have removed some HTML from this example only to reduce the code):&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;br /&gt;@inherits System.Web.Mvc.WebViewPage
@using ForkCan.Web.Infrastructure.WebPageHelpers

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;Head1&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;@View.Title&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    
    @RenderSection( &amp;quot;TitleContent&amp;quot;, optional : true)

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;centerBlock&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        
       ... &lt;/pre&gt;

&lt;pre class="csharpcode"&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;br&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;clear&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;header&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;topBar&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;topMenu&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;nav&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Code&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                            @if (WebSecurity.IsAuthenticated) {
                                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/user/login&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Log in&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                            } else {
                                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/user/logout&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Log out&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;li&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                            }
                           &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ul&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;ch&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;

            ...

        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;clear&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;mainmasterContent&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

            @RenderBody()

            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

        ...
 
        @Google.GetAnalyticHtml()

   
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Something to point out in the _Layout.cshtml is the @RenderSection and @RenderBody mehtods. When using Master pages with Razor we can add the @RenderBody method where we want our “main content” of our content page to be located. If we want to specify some kind of “content place holders” we can use the @RenderSection methods. ForkCan.com has two “Content place holders” in the _Layout.cshtml, the RenderBody and the &amp;quot;RenderSection “TitleContent”. The TitleContent can be used from a “content page” to add styles, client-side scripts etc to the header of the _Layout.cshtml. To create a nested master page we just need to create a new “cshtml” file and then use the LayoutPage property to point to the master page we want our nested to be used (_TwoColumnsLayout.cshtml):&lt;/p&gt;

&lt;pre class="csharpcode"&gt;@inherits System.Web.Mvc.WebViewPage

@{
    LayoutPage = &amp;quot;~/Views/Shared/_Layout.cshtml&amp;quot;;
}

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;right-content&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    @RenderSection(&amp;quot;RightContent&amp;quot;, optional : true)

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;content&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

@RenderBody()

&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The content of the code above will be rendered where the @RenderBody of the _Layout.cshtml is placed. The nested masterpage in ForkCan.com have one “content place holder” added “RightContent” and the @RenderBody where the content of the content pages which will use the nested masterpage will be rendered. As you can see it’s quite easy to create nested master pages with Razor.&lt;/p&gt;

&lt;p&gt;The following is one content page using the _TwoColumnsLayout.cshtml (It’s the view that renders the list of shared codes on Forkcan.com):
  &lt;br /&gt;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;@inherits System.Web.Mvc.WebViewPage&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ForkCan.Models.PresentationModel.ListOfShareCodes&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
@using ForkCan.Web.Infrastructure.Extensions
@using ForkCan.Web.Infrastructure.WebPageHelpers

@{
    View.Title = &amp;quot;ForkCan - Top Used Code&amp;quot;;
    LayoutPage = &amp;quot;~/Views/Shared/_twoColumnsLayout.cshtml&amp;quot;;
}


@section RightContent
{
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/Scripts/jquery.tools.min.js&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;rssFeed&amp;quot;&lt;/span&gt;&amp;gt;
        &amp;lt;a href=&lt;span class="str"&gt;&amp;quot;@Model.FeedUrl&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;img &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;feedback&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/content/rss.png&amp;quot;&lt;/span&gt; /&amp;gt;@Model.FeedTitle&amp;lt;/a&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;div&amp;gt;
        &amp;lt;span style=&lt;span class="str"&gt;&amp;quot;font-weight:bold;&amp;quot;&lt;/span&gt;&amp;gt;Latest activity&amp;lt;/span&amp;gt;
        &lt;span class="preproc"&gt;@foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; activity &lt;span class="kwrd"&gt;in&lt;/span&gt; Model.LastActivities) {
        &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;activityItem&amp;quot;&lt;/span&gt;&amp;gt;
            @(&lt;span class="kwrd"&gt;new&lt;/span&gt; HtmlString(activity.ActivityText))
        &amp;lt;/div&amp;gt;
        }
    &amp;lt;/div&amp;gt;
}


    &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;viewHeader&amp;quot;&lt;/span&gt;&amp;gt;
        
        &amp;lt;h1&amp;gt;@Model.Header&amp;lt;/h1&amp;gt;

        &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;filters&amp;quot;&lt;/span&gt;&amp;gt;
            &amp;lt;a &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;@(Model.OrderBy == &amp;quot;&lt;/span&gt;views&lt;span class="str"&gt;&amp;quot; ? &amp;quot;&lt;/span&gt;selectedFilter&lt;span class="str"&gt;&amp;quot; : &amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot;)&amp;quot;&lt;/span&gt; href=&lt;span class="str"&gt;&amp;quot;@(Model.ListUrl + &amp;quot;&lt;/span&gt;?orderby=views&amp;amp;search=&lt;span class="str"&gt;&amp;quot; + Server.UrlEncode(Helper.Request.Search))&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Order by views&amp;quot;&lt;/span&gt;&amp;gt;Credits&amp;lt;/a&amp;gt;
            &amp;lt;a &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;@(Model.OrderBy == &amp;quot;&lt;/span&gt;used&lt;span class="str"&gt;&amp;quot; ? &amp;quot;&lt;/span&gt;selectedFilter&lt;span class="str"&gt;&amp;quot; : &amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot; )&amp;quot;&lt;/span&gt; href=&lt;span class="str"&gt;&amp;quot;@(Model.ListUrl + &amp;quot;&lt;/span&gt;?orderby=used&amp;amp;search=&lt;span class="str"&gt;&amp;quot; + Server.UrlEncode(Helper.Request.Search))&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Order by most used code&amp;quot;&lt;/span&gt;&amp;gt;Used&amp;lt;/a&amp;gt;
            &amp;lt;a &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;@(Model.OrderBy == &amp;quot;&lt;/span&gt;newest&lt;span class="str"&gt;&amp;quot; ? &amp;quot;&lt;/span&gt;selectedFilter&lt;span class="str"&gt;&amp;quot; : &amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot; )&amp;quot;&lt;/span&gt; href=&lt;span class="str"&gt;&amp;quot;@(Model.ListUrl + &amp;quot;&lt;/span&gt;?orderby=newest&amp;amp;search=&lt;span class="str"&gt;&amp;quot; + Server.UrlEncode(Helper.Request.Search))&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Order by newest code&amp;quot;&lt;/span&gt;&amp;gt;Newest&amp;lt;/a&amp;gt;
            &amp;lt;a &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;@(Model.OrderBy == &amp;quot;&lt;/span&gt;oldest&lt;span class="str"&gt;&amp;quot; ? &amp;quot;&lt;/span&gt;selectedFilter&lt;span class="str"&gt;&amp;quot; : &amp;quot;&lt;/span&gt;&lt;span class="str"&gt;&amp;quot; )&amp;quot;&lt;/span&gt; href=&lt;span class="str"&gt;&amp;quot;@(Model.ListUrl + &amp;quot;&lt;/span&gt;?orderby=oldest&amp;amp;search=&lt;span class="str"&gt;&amp;quot;+ Server.UrlEncode(Helper.Request.Search))&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Order by oldest code&amp;quot;&lt;/span&gt;&amp;gt;Oldest&amp;lt;/a&amp;gt;
        &amp;lt;/div&amp;gt;

   &amp;lt;/div&amp;gt;
   
    &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;container&amp;quot;&lt;/span&gt;&amp;gt;
   
    &lt;span class="preproc"&gt;@foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; code &lt;span class="kwrd"&gt;in&lt;/span&gt; Model.Items)
    {
        &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;'mySharedCodeItem'&lt;/span&gt;&amp;gt;

            &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;shareCodeRating&amp;quot;&lt;/span&gt;&amp;gt;
                &amp;lt;br /&amp;gt;
                &amp;lt;span title=&lt;span class="str"&gt;&amp;quot;Number of views&amp;quot;&lt;/span&gt;&amp;gt;@code.Views&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;
                Views
            &amp;lt;/div&amp;gt;

            &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;shareCodeItemLeft&amp;quot;&lt;/span&gt;&amp;gt;

                &amp;lt;a href=&lt;span class="str"&gt;'/viewcode/@code.CodeId/@code.TitleInUrl'&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;sharedCodeListItemTitle&amp;quot;&lt;/span&gt;&amp;gt;@code.Title&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;

                &amp;lt;span &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;posted&amp;quot;&lt;/span&gt;&amp;gt;
                By &amp;lt;a href=&lt;span class="str"&gt;&amp;quot;/user/view/@code.CreatedById/@code.CreatedBy.ToUrlTitle()&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;sharedCodeListItemPostedBy&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;'@(code.CreatedBy + &amp;quot; created this code&amp;quot;)'&lt;/span&gt;&amp;gt;@code.CreatedBy&amp;lt;/a&amp;gt;
                &amp;amp;nbsp;@code.CreatedByTitle&amp;amp;nbsp;
                @code.Created&amp;lt;/span&amp;gt;

                &amp;lt;br /&amp;gt;

               &amp;lt;br /&amp;gt;
               &amp;lt;span &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;codeDescription&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;@code.ShortDescription&amp;amp;quot;&amp;lt;/span&amp;gt;

               @Html.Partial(&lt;span class="str"&gt;&amp;quot;_tags&amp;quot;&lt;/span&gt;, code.Tags)

            &amp;lt;/div&amp;gt;
            
            &amp;lt;div id=&lt;span class="str"&gt;&amp;quot;shareCodeItemRight&amp;quot;&lt;/span&gt;&amp;gt;

                &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;feedbacks&amp;quot;&lt;/span&gt;&amp;gt;
                    &amp;lt;img &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;feedback&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Number of users used this code&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/Content/used.png&amp;quot;&lt;/span&gt; /&amp;gt; @code.Used
                    &amp;lt;img &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;feedback&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Number of positive feedback&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/Content/positive.png&amp;quot;&lt;/span&gt; /&amp;gt; @code.PosetiveFeedback
                    &amp;lt;img &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;feedback&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Number of negative feedback&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/Content/negative.png&amp;quot;&lt;/span&gt; /&amp;gt; @code.NegativeFeedback
                    &amp;lt;img &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;feedback&amp;quot;&lt;/span&gt; title=&lt;span class="str"&gt;&amp;quot;Number of discussions about the code&amp;quot;&lt;/span&gt; src=&lt;span class="str"&gt;&amp;quot;/Content/discussions.png&amp;quot;&lt;/span&gt; /&amp;gt; @code.Discussions
                &amp;lt;/div&amp;gt;

            &amp;lt;/div&amp;gt;

            &amp;lt;br style=&lt;span class="str"&gt;&amp;quot;clear:both;&amp;quot;&lt;/span&gt; /&amp;gt;
         &amp;lt;/div&amp;gt;

        &amp;lt;div &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;&amp;quot;sharedCodeItemEnd&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/div&amp;gt;
    }

    @Pager.Render(Model.SelectedPage, 15, Model.TotalNumberOfCodeBlocks, Model.ListUrl + &lt;span class="str"&gt;&amp;quot;?page={0}&amp;amp;orderby=&amp;quot;&lt;/span&gt; + Model.OrderBy +&lt;span class="str"&gt;&amp;quot;&amp;amp;search=&amp;quot;&lt;/span&gt; + Server.UrlEncode(Helper.Request.Search));

    &amp;lt;/div&amp;gt;

    &amp;lt;script type=&lt;span class="str"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;
        $(&lt;span class="str"&gt;&amp;quot;a.tagLink&amp;quot;&lt;/span&gt;).tooltip(
            {
                effect: &lt;span class="str"&gt;'toggle'&lt;/span&gt;,
                position: &lt;span class="str"&gt;'bottom center'&lt;/span&gt;
            });
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The main content of the content page will be rendered where the @RenderBody method is located in the &amp;quot;_TwoColumnLayout.cshtml nested master page. To place something into the “content place holder” RightConent, we can in razor add a “content control” by using the @section syntax, the following code inside of the @section will be placed where the @RenderSection(“RightContent”) is located in the nested master page:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;@section RightContent
{
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/Scripts/jquery.tools.min.js&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;rssFeed&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;@Model.FeedUrl&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;img&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;feedback&amp;quot;&lt;/span&gt; &lt;span class="attr"&gt;src&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;/content/rss.png&amp;quot;&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;@Model.FeedTitle&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt; &lt;span class="attr"&gt;style&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;font-weight:bold;&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Latest activity&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;span&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        @foreach (var activity in Model.LastActivities) {
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt; &lt;span class="attr"&gt;class&lt;/span&gt;&lt;span class="kwrd"&gt;=&amp;quot;activityItem&amp;quot;&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
            @(new HtmlString(activity.ActivityText))
        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
        }
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;div&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
}&lt;/pre&gt;
&lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Summery&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;By using the LayoutPage property we can specify which master page we want to use. The @RenderBody should be used and places where the main content of a content page’s content should be rendered. By using the @RenderSection we can create “content place holders”, and fill them with content from a content page by using @section.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;If you want to know when I publish a blog post to my blog, then you can follow me on twitter: &lt;a href="http://www.twitter.com/fredrikn"&gt;@fredrikn&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7576879" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/.Net/default.aspx">.Net</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/ForkCan/default.aspx">ForkCan</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Razor/default.aspx">Razor</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/MVC3.0/default.aspx">MVC3.0</category></item><item><title>UnitOfWork Action filter for ASP.NET MVC and nHibernate</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/07/27/unitofwork-action-filter-for-asp-net-mvc-and-nhibernate.aspx</link><pubDate>Tue, 27 Jul 2010 14:26:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7574330</guid><dc:creator>Fredrik N</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7574330</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/07/27/unitofwork-action-filter-for-asp-net-mvc-and-nhibernate.aspx#comments</comments><description>
&lt;SCRIPT type=text/javascript src="http://www.forkcan.com/share/view/219?highlight=true" mce_src="http://www.forkcan.com/share/view/219?highlight=true"&gt;&lt;/SCRIPT&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7574330" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/C_2300_+nHibernate+Repository+aspmvc/default.aspx">C# nHibernate Repository aspmvc</category></item><item><title>Loading Strategy for Entity Framework 4.0</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/07/25/loading-strategy-for-entity-framework-4-0.aspx</link><pubDate>Sun, 25 Jul 2010 10:23:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7573532</guid><dc:creator>Fredrik N</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7573532</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/07/25/loading-strategy-for-entity-framework-4-0.aspx#comments</comments><description>
&lt;SCRIPT type=text/javascript src="http://www.forkcan.com/share/view/218?highlight=true" mce_src="http://www.forkcan.com/share/view/218?highlight=true"&gt;&lt;/SCRIPT&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7573532" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/C_2300_+EF4.0+Repository/default.aspx">C# EF4.0 Repository</category></item><item><title>Integrate your blog or sites with ForkCan.com</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/07/25/integrate-your-blog-or-sites-with-forkcan-com.aspx</link><pubDate>Sun, 25 Jul 2010 09:20:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7573528</guid><dc:creator>Fredrik N</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7573528</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/07/25/integrate-your-blog-or-sites-with-forkcan-com.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;If you didn't know, you can get the code you have posted on ForkCan.com and include it to your blog posts or sites. The following is an instruction (The Instruction itself is included from &lt;A href="http://www.forkcan.com/" mce_href="http://www.forkcan.com"&gt;ForkCan.com&lt;/A&gt;):&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;SCRIPT type=text/javascript src="http://www.forkcan.com/share/view/188?highlight=true"&gt;&lt;/SCRIPT&gt;

&lt;P&gt;If you want to know when I have published a blog post, then you can follow me in twitter: &lt;A href="http://www.twitter.com/fredrikn" mce_href="http://www.twitter.com/fredrikn"&gt;@fredrikn&lt;/A&gt; &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7573528" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/ForkCan/default.aspx">ForkCan</category></item><item><title>ForkCan is now available public – Share, Discuss, Improve code etc</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/07/11/forkcan-is-not-available-public-share-discuss-improve-code-etc.aspx</link><pubDate>Sun, 11 Jul 2010 13:19:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7561794</guid><dc:creator>Fredrik N</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7561794</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/07/11/forkcan-is-not-available-public-share-discuss-improve-code-etc.aspx#comments</comments><description>&lt;P&gt;ForkCan is now available, you can read more about ForkCan &lt;A href="http://weblogs.asp.net/fredriknormen/archive/2010/07/10/what-is-forkcan-com-do-you-have-what-it-takes-to-share-your-code.aspx" mce_href="http://weblogs.asp.net/fredriknormen/archive/2010/07/10/what-is-forkcan-com-do-you-have-what-it-takes-to-share-your-code.aspx"&gt;here&lt;/A&gt;. If you have an idea of a code, or want to see if it can be improved, want to find code for your project etc or talk about code. Then ForkCan is a place for you..&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.forkcan.com/" mce_href="http://www.forkcan.com"&gt;ForkCan&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://feedback.forkcan.com/" mce_href="http://feedback.forkcan.com/"&gt;Feedback&lt;/A&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7561794" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Write+code/default.aspx">Write code</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Code/default.aspx">Code</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/ForkCan/default.aspx">ForkCan</category></item><item><title>What is ForkCan.com – Do you have what it takes to Share your code?</title><link>http://weblogs.asp.net/fredriknormen/archive/2010/07/10/what-is-forkcan-com-do-you-have-what-it-takes-to-share-your-code.aspx</link><pubDate>Sat, 10 Jul 2010 09:20:18 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7560692</guid><dc:creator>Fredrik N</dc:creator><slash:comments>17</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fredriknormen/rsscomments.aspx?PostID=7560692</wfw:commentRss><comments>http://weblogs.asp.net/fredriknormen/archive/2010/07/10/what-is-forkcan-com-do-you-have-what-it-takes-to-share-your-code.aspx#comments</comments><description>&lt;p&gt;I have worked on a project for a while now, I call it ForkCan and can be found on the following URL &lt;a href="http://www.forkcan.com"&gt;www.forkcan.com&lt;/a&gt;. ForkCan is all about sharing code in a social way. I have notice that several developers on twitter paste pointers to sites like &lt;a href="http://paste-it.net/"&gt;paste-it.net&lt;/a&gt; to share some code with others, and to get feedback on the code. I moved this a little bit further and created a similar site BUT! I also want to make sure developers can learn from each other, discuss the code with each other and much more. There are so many great code examples shared and distributed on the web, but to find them we need to search for it and it’s spread around different blog posts, forums etc. I wanted to create one place where developers can add the code, make a repository of codes where everyone can find great code to be used in a project. I also created ForkCan to save my own “good to have” code snippets, so I can find it easy and and copy and paste it into my projects. You may wonder why I call it ForkCan? It’s because it can be used as a can of &lt;a href="http://en.wikipedia.org/wiki/Fork"&gt;forks&lt;/a&gt; ;) &lt;a href="http://en.wikipedia.org/wiki/Fork_(software_development)"&gt;Fork in Software development&lt;/a&gt; is about taking an existing code and make development on it. So with ForkCan you can share your code, someone else can make it even better by making a Fork of it. The idea of ForkCan is to help each other to be better developers. The site also is a great tool for the Copy &amp;amp; Pasters.. ;)&lt;/p&gt;  &lt;p&gt;The feature ForkCan supports today are:   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;1) Share Code (Anonymous or as a registered user)&lt;/p&gt;  &lt;p&gt;2) Add tags&lt;/p&gt;  &lt;p&gt;3) Give feedback (Positive, neutral and Negative) – feedback adds rating to the code.&lt;/p&gt;  &lt;p&gt;4) Rate the code (Is not yet implemented, but the rating is displayed)&lt;/p&gt;  &lt;p&gt;5) Make a Fork of the code and see the Fork in a tree form&lt;/p&gt;  &lt;p&gt;6) Discuss the code (will give points to the user that wrote the comment), in the future comments can be rated (the model is in place but not the code).&lt;/p&gt;  &lt;p&gt;7) User Titles (User can get different titles based on contributions)&lt;/p&gt;  &lt;p&gt;8) User Scoring&lt;/p&gt;  &lt;p&gt;9) Search for code&lt;/p&gt;  &lt;p&gt;10) Use OpenId&lt;/p&gt;  &lt;p&gt;11) Markdown for the content of the shared code&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I have much more features on my list to do, like Achievements, some sort of badges and advanced search etc. I will also work more with the User Interface, add more tips and helps to the site, a way to easily post Feedback about how to improve ForkCan and also report bugs etc.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The rest part of this post is how ForkCan looks like today and about some of the features that are added at the moment.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;First Page&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;First page will show a list of all the shared codes, it will by default be listed in a order where the most used code will be at the top.    &lt;br /&gt;&lt;strong&gt;&lt;em&gt;Note: At the moment the sorting is not yet implemented.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredriknormen/image_63E41696.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/fredriknormen/image_thumb_10209D7B.png" width="745" height="408" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The list shows the title of the code a developer have shared, a short description of the code, tags (there is not a predefined list of tags, just create your own tags), information about the code, such as when it was created, created by and the current points the user who created the code has. The smalls icons above the creator of the code shows the number of views, number of devs who have used the code, number of positive, neutral and negative feedback and also number of discussions (Should I add number of forks?)&lt;/p&gt;  &lt;p&gt;To Share a code, you simply press the big Share Code button at the right top corner under the search textbox.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Share Code&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Anyone can share codes, ForkCan uses OpenID for users that want to register them self on the site (gives of course a lot of benefits, such as making a fork, give feedback to other users etc.)&amp;#160; You can share code by just mark the code with a name. Here is how the Share Code form looks like today:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredriknormen/image_35AA1ADC.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/fredriknormen/image_thumb_78A5E949.png" width="735" height="735" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;ForkCan use the WMD RichTextArea control. The WMD control uses Markdown. I will later add a better help for how to you use Markdown, if you are familiar to StackOverflow you will know hot to use it. When you add a code block remember that you need to indent the code with 4 spaces. You can use some HTML tags and also add links.&lt;/p&gt;  &lt;p&gt;You can share code and login at the same time by specifying an OpenId, if you aren’t a registered user you will come to a Edit profile form to enter some information about your self:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredriknormen/image_05339666.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/fredriknormen/image_thumb_240A0A44.png" width="725" height="791" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;ForCan uses Gavatar for handling avatars. If you have earned one or more titles, you can select a title that will be displayed together with your user information when user are watching your code. The 20 first registered users will get three titles “No. 1” , “I was first here” and “1337”.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;View code&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;When you select a code to view from the list of code from the start page, you can as a registered and authenticated user post feedback to the user who has created the code (You will earn points if you post feedback, and the user who shared the code will also earn points as long as it’s positive feedback), you can also create a Fork or write comments about the code.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredriknormen/image_335D6C53.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/fredriknormen/image_thumb_672562A4.png" width="716" height="1319" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The following is a view where feedback, forks and comments are added:   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/fredriknormen/image_5E555A58.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/fredriknormen/image_thumb_4F3E7B7E.png" width="723" height="1292" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I hope you will like ForkCan.com and I also hope this site will bring value to you as a developer and also to other developers. A Beta will be out later this day (the time from when this post was created) or tomorrow. I hope some of you are interested to do some contribution and also be a beta user.&lt;/p&gt;  &lt;p&gt;Hope to see you all at ForkCan.com&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you want to know when I have published a new blog post, then follow me on twitter: &lt;a href="http://www.twitter.com/fredriknormen"&gt;@fredrikn&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7560692" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Write+code/default.aspx">Write code</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/Code/default.aspx">Code</category><category domain="http://weblogs.asp.net/fredriknormen/archive/tags/ForkCan/default.aspx">ForkCan</category></item></channel></rss>
