<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_茶与咖啡同杯飘香</title><subtitle type="text">交朋识友，共同分享</subtitle><id>http://feed.cnblogs.com/blog/u/26050/rss</id><updated>2011-03-23T07:36:43Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/26050/rss"/><entry><id>http://www.cnblogs.com/haohello/archive/2011/03/23/1992597.html</id><title type="text">ASP.NET MVC3 快速入门-第一节 概述</title><summary type="text">ASP.NET MVC3 快速入门-第一节 概述 1.1 本教程的学习内容 在本教程中，你将学会如下内容： &amp;#183; 如何创建一个ASP.NET MVC的工程。 &amp;#183; 如何创建ASP.NET MVC的控制器（controller）与视图(view)。 &amp;#183; 如何使用Entity Framework code-first 范例来创建一个新的数据库。 &amp;#183; 如何获取和显示数据。 &amp;#183; 如何编辑数据并且进行数据的有效...</summary><published>2011-03-23T07:37:00Z</published><updated>2011-03-23T07:37:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992597.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992597.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;a name="_Toc288136220"&gt;ASP.NET MVC3 &lt;/a&gt;快速入门-第一节 概述&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536369569.gif"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536376439.gif" width="15" height="15"&gt;&lt;/a&gt;&lt;b&gt;1.1&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;本教程的学&lt;/b&gt;&lt;b&gt;习&lt;/b&gt;&lt;b&gt;内容&lt;/b&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;在本教程中，你将学会如下内容： &lt;p&gt;· 如何创建一个ASP.NET MVC的工程。 &lt;p&gt;· 如何创建ASP.NET MVC的控制器（controller）与视图(view)。 &lt;p&gt;· 如何使用Entity Framework code-first 范例来创建一个新的数据库。 &lt;p&gt;· 如何获取和显示数据。 &lt;p&gt;· 如何编辑数据并且进行数据的有效性验证。 &lt;p&gt;&lt;a name="_Toc288136221"&gt;&lt;b&gt;1.2&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;创&lt;/b&gt;&lt;b&gt;建工程&lt;/b&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;如果要创建一个ASP.NET MVC3的工程时，首先运行Visual Web Developer 2010 Express（本教程中简称“Visual Web Developer”）,并且在起始页(start page)中选择“新建项目”。&lt;br&gt;Visual Web Developer是一个集成开发环境，你可以使用它来进行各种应用程序的开发。在Visual Web Developer的菜单的下面有一个工具条，可以直接点击工具条中的各个工具按钮来进行各种操作，也可以直接点击菜单中的各个菜单项来进行各种操作，此处我们点击“文件”菜单中的“新建项目”菜单项。 &lt;p&gt;&lt;a href="http://photo.blog.sina.com.cn/showpic.html#blogid=6ad539a90100orxv&amp;amp;url=http://static7.photo.sina.com.cn/orignal/6ad539a9n9cf2949cd5a6&amp;amp;690"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536388815.jpg" width="244" height="178"&gt;&lt;/a&gt; &lt;p&gt;图1-1 Visual Web Developer 2010 Express中的起始页 &lt;p&gt;&lt;a name="_Toc288136222"&gt;&lt;b&gt;1.3&lt;/b&gt;&lt;/a&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;创&lt;/b&gt;&lt;b&gt;建你的第一个&lt;/b&gt;&lt;b&gt;应&lt;/b&gt;&lt;b&gt;用程序&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt; &lt;p&gt;你可以使用Visual Basic 或Visual C#作为开发语言来创建应用程序。在本教程中，选择C#来作为开发语言。点击“新建项目”菜单项后，在打开的“新建项目”对话框中，双击左边的“Visual C#”使其成为展开状态，然后点击“Web”，点击右边的“ASP.NET MVC 3 Web 应用程序”，然后在下方的名称文本框中填入应用程序的名称，在本教程中命名为“MvcMovie”,然后点击确定按钮。 &lt;p&gt;&lt;a href="http://photo.blog.sina.com.cn/showpic.html#blogid=6ad539a90100orxv&amp;amp;url=http://s11.sinaimg.cn/orignal/6ad539a9n9cf2aec4266a"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536391191.jpg" width="244" height="176"&gt;&lt;/a&gt; &lt;p&gt;图1-2 在新建项目对话框中选择ASP.NET MVC3应用程序并为应用程序命名 &lt;p&gt;在接下来打开的“新ASP.NET MVC 3 项目”对话框中，点击选中“Internet 应用程序”，在“视图引擎”下拉框中保持默认的“Razor”选项不作修改（Razor视图是ASP.NET MVC3种新增的一种十分重要的视图类型，使用它可以使得Web应用程序的开发变得更加方便快捷，在后文中将对此进行详细介绍）。 &lt;p&gt;&lt;a href="http://photo.blog.sina.com.cn/showpic.html#blogid=6ad539a90100orxv&amp;amp;url=http://static14.photo.sina.com.cn/orignal/6ad539a9n9cf2b963856d"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image005" border="0" alt="clip_image005" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536408551.jpg" width="244" height="213"&gt;&lt;/a&gt; &lt;p&gt;图1-3 选择项目模板与视图引擎 &lt;p&gt;点击确定按钮，Visual Web Developer会为你所创建的ASP.NET MVC项目提供一个默认模板，这样的话你就拥有了一个可以立刻运行的应用程序。默认的模板中提供的是一个很简单的显示“欢迎使用 ASP.NET MVC!”文字的应用程序，你可以以此作为你的开发起点。 &lt;p&gt;&lt;a href="http://photo.blog.sina.com.cn/showpic.html#blogid=6ad539a90100orxv&amp;amp;url=http://static8.photo.sina.com.cn/orignal/6ad539a9n9cf2c15f90c7"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536411799.jpg" width="244" height="178"&gt;&lt;/a&gt; &lt;p&gt;图1-4 Visual Web Developer提供了一个默认的应用程序模板 &lt;p&gt;点击“调试”菜单中的“启动调试”菜单项（该菜单项的快捷键为F5），Visual Web Developer将启动一个内置的服务器，并且在该服务器中打开当前Web应用程序的主页，如图1-5所示。&lt;br&gt;&lt;a href="http://photo.blog.sina.com.cn/showpic.html#blogid=6ad539a90100orxv&amp;amp;url=http://s5.sinaimg.cn/orignal/6ad539a9n9cf2c64e5f74"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image007" border="0" alt="clip_image007" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231536426368.jpg" width="244" height="178"&gt;&lt;/a&gt; &lt;p&gt;图1-5 ASP.NET MVC3的默认应用程序模板的调试画面 &lt;p&gt;请注意该页面在浏览器中的地址为“http://localhost:4423/”。其中“localhost”代表了本机上你刚刚创建的Web应用程序的临时网站地址，4423代表了Visual Web Developer使用的一个随机端口，每次调试的时候，Visual Web Developer都会使用这个端口来作为内置服务器的端口号。在各计算机上，该端口号都是不相同的，因为该端口号是Visual Web Developer随机选择的。&lt;br&gt;在这个模板应用程序的页面的右上角，提供了两个按钮与一个“登录”链接，点击“登录”链接，页面跳转到登录页面，点击“主页”按钮，页面返回到主页，点击“关于”按钮，页面跳转到“关于”页面。&lt;br&gt;接下来，让我们开始逐步将这个默认的应用程序修改为我们所要的应用程序，在这个过程中逐步了解ASP.NET MVC 3的有关知识。首先，让我们关闭浏览器并开始代码的修改工作。 &lt;img src="http://www.cnblogs.com/haohello/aggbug/1992597.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992597.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/haohello/archive/2011/03/23/1992590.html</id><title type="text">ASP.NET MVC3 快速入门</title><summary type="text">ASP.NET MVC3 快速入门-序言... 1 ASP.NET MVC3 快速入门-第一节 概述... 2 1.2 创建工程... 2 1.3 创建你的第一个应用程序... 3 ASP.NET MVC3 快速入门--第二节 添加一个控制器... 7 ASP.NET MVC3 快速入门-第三节 添加一个视图... 12 3.1 添加一个视图... 12 3.2 修改视图，修改应用程序的页面布局....</summary><published>2011-03-23T07:35:00Z</published><updated>2011-03-23T07:35:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992590.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992590.html"/><content type="html">&lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136219"&gt;ASP.NET MVC3 快速入门-序言... 1&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136220"&gt;ASP.NET MVC3 快速入门-第一节 概述... 2&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136221"&gt;&lt;b&gt;1.2&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;创&lt;/b&gt;&lt;b&gt;建工程&lt;/b&gt;... 2&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136222"&gt;&lt;b&gt;1.3&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;创&lt;/b&gt;&lt;b&gt;建你的第一个&lt;/b&gt;&lt;b&gt;应&lt;/b&gt;&lt;b&gt;用程序&lt;/b&gt;... 3&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136223"&gt;ASP.NET MVC3 快速入门--第二节 添加一个控制器... 7&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136224"&gt;ASP.NET MVC3 快速入门-第三节 添加一个视图... 12&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136225"&gt;&lt;b&gt;3.1&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;添加一个&lt;/b&gt;&lt;b&gt;视图&lt;/b&gt;... 12&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136226"&gt;&lt;b&gt;3.2&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;修改&lt;/b&gt;&lt;b&gt;视图&lt;/b&gt;&lt;b&gt;，修改&lt;/b&gt;&lt;b&gt;应&lt;/b&gt;&lt;b&gt;用程序的&lt;/b&gt;&lt;b&gt;页&lt;/b&gt;&lt;b&gt;面布局&lt;/b&gt;... 16&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136227"&gt;&lt;b&gt;3.3&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;b&gt;将控制器中的数据&lt;/b&gt;&lt;b&gt;传递给视图&lt;/b&gt;... 21&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136228"&gt;ASP.NET MVC3 快速入门-第四节 添加一个模型... 26&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136229"&gt;ASP.NET MVC3 快速入门-第五节 从控制器访问模型中的数据... 35&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136230"&gt;ASP.NET MVC3 快速入门-第六节 增加一个追加数据的方法和一个追加数据的视图... 45&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136231"&gt;ASP.NET MVC3 快速入门-第七节 在Movie(电影)模型与数据表中添加一个字段... 56&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136232"&gt;ASP.NET MVC3 快速入门-第八节 在模型中添加验证规则... 67&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136233"&gt;&lt;b&gt;8.1 DRY&lt;/b&gt;&lt;b&gt;原则&lt;/b&gt;... 67&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136234"&gt;&lt;b&gt;8.2&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;在Movie&lt;/b&gt;&lt;b&gt;模型中追加验证规则&lt;/b&gt;... 68&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136235"&gt;&lt;b&gt;8.3 ASP.NET MVC&lt;/b&gt;&lt;b&gt;中的验证错误UI(&lt;/b&gt;&lt;b&gt;用户界面)&lt;/b&gt;. 71&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136236"&gt;&lt;b&gt;8.4&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;在Create&lt;/b&gt;&lt;b&gt;视图（追加电影视图）与Create&lt;/b&gt;&lt;b&gt;方法内部是如何实现验证的&lt;/b&gt;... 72&lt;/a&gt; &lt;p&gt;&lt;a href="file:///E:/????????????/MVC/#_Toc288136237"&gt;ASP.NET MVC3 快速入门-第九节 实现编辑、删除与明细信息视图... 75&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/haohello/aggbug/1992590.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992590.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/haohello/archive/2011/03/23/1992593.html</id><title type="text">ASP.NET MVC3 快速入门-序言</title><summary type="text">本教程主要介绍ASP.NET MVC 3的一些基本知识，以及如何使用Microsoft Visual Web Developer Express来建立一个ASP.NET MVC 3的Web应用程序。在开始之前，请确保你已经安装了如下几个开发工具，这些开发工具可以使用Web Platform Installer来统一进行安装。 &amp;#183; Visual Studio Web Developer Expres...</summary><published>2011-03-23T07:35:00Z</published><updated>2011-03-23T07:35:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992593.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992593.html"/><content type="html">&lt;p&gt;本教程主要介绍ASP.NET MVC 3的一些基本知识，以及如何使用Microsoft Visual Web Developer Express来建立一个ASP.NET MVC 3的Web应用程序。在开始之前，请确保你已经安装了如下几个开发工具，这些开发工具可以使用Web Platform Installer来统一进行安装。 &lt;p&gt;· Visual Studio Web Developer Express with SQL Express &lt;p&gt;· ASP.NET MVC 3 &lt;p&gt;· SQL Management Studio&lt;/p&gt;&lt;img src="http://www.cnblogs.com/haohello/aggbug/1992593.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992593.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/haohello/archive/2011/03/23/1992559.html</id><title type="text">Basic Orchard Concept Definitions&amp;mdash;Orchard基础概念定义</title><summary type="text">Orchard是一个网页CMS系统，可以帮助我们通过已有的模块来构建网站。如果我们想要使用Orchard CMS系统更高效地创建网站应用的话，我们需要先熟悉Orchard的一些基本概念以及一些术语。 这篇将解释Orchard系统所用到的一些概念以及它们的作用。 General CMS definitions--- CMS的一般定义 CMS中的‘C&amp;#39;的意思是 “content” 也就是内容的意思， ...</summary><published>2011-03-23T07:18:00Z</published><updated>2011-03-23T07:18:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992559.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992559.html"/><content type="html">&lt;p&gt;Orchard是一个网页CMS系统，可以帮助我们通过已有的模块来构建网站。如果我们想要使用Orchard CMS系统更高效地创建网站应用的话，我们需要先熟悉Orchard的一些基本概念以及一些术语。 这篇将解释Orchard系统所用到的一些概念以及它们的作用。&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;General CMS definitions--- CMS的一般定义&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;CMS中的‘C'的意思是 “content” 也就是内容的意思， 可以这么去理解，所有通过CMS系统管理的东西都可以称之为内容。更准确的来讲，内容就是网站中的所有信息。 举例来说，一篇博客文章，一个评论，一个产品展示信息，或者是导航菜单，亦或者是公司的标识图片，这些都是可以被分辨的、独立的内容。 如果这会儿你在想，内容是网站里的一切，那么就对啦。 如果你还是认为这个概念很模糊的话，那也没什么不对的， 幸运的是，我们将在下面的章节中会更详细具体地阐述不同的内容概念。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Admin panel, Dashboard or back-end 网站的后台管理界面&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;网站的后台管理界面是我们可以管理网站以及网站内容的地方。 只有被授予了“可以访问后台管理界面”的用户才能访问和管理网站及网站中的内容。 这就是CMS中’M’ 的意思。&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516162455.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516182540.png" width="744" height="451"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;p&gt;&lt;strong&gt;CMS中的S&lt;/strong&gt;&lt;/p&gt;'S' 在 CMS的意思是系统，这个概念应该不会听起来那么模糊。CMS是通过一种系统的方式来管理内容的：所有的内容都可以以同样的方式被管理。&lt;br&gt;举例来说，你可以通过同样的工具来管理博客文章、页面内容以及产品展示信息，这些内容也都可以通过使用常用的模块来添加评论、评分及标签。这样以来，在使用系统时才会有一致的体验，也能使得创建新类型的内容更为简便。  &lt;p&gt;&lt;strong&gt;Front-end --前台&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;前台是网站中所有用户能够访问到的界面。换句话说，前台就是除了后台管理界面之外所有能被公众访问到的部分。&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516222144.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516295496.png" width="869" height="526"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Setup -- 安装配置&lt;/strong&gt;&lt;/p&gt;安装配置是将网站从初始状态配置成为可工作状态的一个必须的过程(而且，除此之外，你还有很多要做的，比如说，创建网站的内容）。  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516315297.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516367768.png" width="695" height="761"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Orchard concepts – Orchard概念&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Content Item--内容条目&lt;/strong&gt;&lt;/p&gt;内容条目是一个单独的一块内容，通常可以用一个单独的网址就可以访问到。例如，页面、博客文章或产品展示。&lt;br&gt; &lt;p&gt;&lt;strong&gt;Content type--内容类型&lt;/strong&gt;&lt;/p&gt;内容条目是内容类型的实例。换种方式说，内容条目是属于内容类型的类别的。在前一节中，我们讲到了内容条目的例子，页面、博客文章、产品展示，这三个例子也是三个不同的内容类型。 &lt;br&gt; &lt;p&gt;&lt;strong&gt;Content Part --内容单元&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;在Orchard系统里内容类型是由一些小的内容单元组成。 内容单元是内容的最小单位，是可以被其他内容类型重用的。&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516399422.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516457715.png" width="857" height="894"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;例如，评论（comments）、标签（tags）或者评分（ratings）都是内容单元，因为它们有着特定的功能，而且可以被任何内容类型所重用。 评论作为内容单元并没有只限定于一个特定的内容类型，比如博客文章。评论在博客文章内容类型中的作用和在其他内容类型中的作用是一样的，没有任何差别。在一个内容类型中只能有一个而且仅有一个同样的内容单元。  &lt;p&gt;&lt;strong&gt;Content Field--内容字段&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;内容字段是可以添加到一个内容类型中的。内容字段有一个名字和一个数据类型，而且是限定于这个内容类型的，就是说，不能像内容单元一样在其他内容类型中重用。 一个 内容类型中可以有很多个有着同样数据类型的内容字段。&lt;/p&gt; &lt;p&gt;例如，一个产品内容类型有一个文本内容字段来代表这个产品的唯一标识，一个数字内容字段表示价格，另一个数字内容字段表示重量。这其中的每个内容字段或许只有对这个产品来说是有意义的，用在其他的内容类型中就不会这样。 &lt;/p&gt; &lt;p&gt;注意: 也可以创建一个名为产品的内容单元，这个内容单元包含上面所说的三个内容字段。 这样的话就可以将任何内容类型转化为产品了。 这两种方法在Orchard系统中都是可行的。  &lt;p&gt;&lt;p&gt;&lt;strong&gt;Module--模块&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Orchard的许多扩展应用都是被创建成模块的。一个模块是Orchard的一组功能扩展，这些扩展被整合在Orchard网站中的Modules目录下的同一个子目录中。&lt;br&gt;你也可以早Orchard Gallery中找到许多可用的模块。&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516484038.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516552232.png" width="895" height="706"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Feature—功能特性&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;一个模块可以有一个或多个功能特性，它在逻辑上将这些功能组织了起来，而每个功能却可以单独启用或是禁用。例如，一个自定义的验证模块可以有： OpenID验证功能、Facebook验证功能、LiveID验证功能以及其他的验证功能，这些功能都可以单独地被启用或是禁用。&lt;br&gt;功能特性可以相互依赖，不管它们是不是在同一个模块中。&lt;/p&gt; &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231516583014.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517028407.png" width="825" height="670"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Manifest--清单文件&lt;/strong&gt;&lt;/p&gt;清单文件是模块或主题中的一个描述这个模块或主题的文本文件。&lt;br&gt;下面就是清单文件的示例:  &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&lt;pre &gt;Name: Comments&#xD;
AntiForgery: enabled&#xD;
Author: The Orchard Team&#xD;
Website: http://orchardproject.net&#xD;
Version: 0.9.0&#xD;
OrchardVersion: 0.9.0&#xD;
Description: The comments system implemented by this module can be applied to arbitrary Orchard content types, such as blogs and pages. It includes comment validation and spam protection through the Akismet service.&#xD;
Features:&#xD;
    Orchard.Comments:&#xD;
        Name: Comments&#xD;
        Description: Standard content item comments.&#xD;
        Dependencies: Settings&#xD;
        Category: Social&#xD;
&lt;/pre&gt;&lt;/blockquote&gt;&#xD;
&lt;p&gt;&lt;strong&gt;UI composition --界面合成&lt;/strong&gt;&lt;/p&gt;Orchard中所管理的内容是由不同单元组成的。这就需要一种机制可以统一内容显示，同时也顾及到内容的整体性。这就是为什么我们在讲界面的合成, 很多小块的内容需要和谐地整合在一起以统一的整体来展示。界面合成包含下面所要讲述几个概念。&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Theme--主题&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在创建一个网站时, 我们都有可能需要能够修改网站的每一处的视觉显示效果。Orchard将内容管理与内容显示很清晰地分离开了。一个主题就是用Orchard所创建的网站的所有界面展示。它包括css样式、图片、布局文件、模板文件甚至是自定义的代码文件。我们也可以创建一个主题继承于来自另一主题的属性，如果你只是想在已有主题基础上做一些小的改动时这将会很有用的。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517133838.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517214093.png" width="1027" height="430"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Layout--布局&lt;/strong&gt;&lt;/p&gt;布局文件是主题中定义页面中的大概组织构成的一个文件。布局文件中定义了一组区块以及这些区块的排列顺序及位置，区块中可以插入内容以及小部件（widgets)。 &#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517256520.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517293267.png" width="740" height="746"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Template--模板&lt;/strong&gt;&lt;/p&gt;每一个内容单元，每个内容字段以及每个小部件都需要在前台有自己的展示以便将它们所表示的数据以用户可以阅读的方式展现出来。 一个模板就是将数据转化为浏览器可以显示的HTML源代码的一个文件。你可以将模板理解为有着预先定义的位置的普通的HTML, 这些预先定义好的位置处就是数据可以插入的地方。&lt;br&gt;下面就是一个模板的一个简单示例:&lt;pre&gt;&amp;lt;h1&amp;gt;@Model.Title&amp;lt;/h1&amp;gt;&#xD;
&lt;/pre&gt;&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Shape --形状&lt;/strong&gt;&lt;/p&gt;Before displaying something using a template, that something gets transformed into a shape, which is a very malleable object that contains all the information required in order to display it. Before getting rendered by templates, everything gets mapped into a tree of shapes that is a sort of abstract representation of the contents of the final page. The advantage of such trees of shapes is that any module can modify existing shapes or create new ones.&lt;br&gt;The layout, zones, widgets and content parts all get represented as shapes as part of the rendering process.&lt;br&gt;One could imagine for example a Gravatar module that would add avatar icon shapes to the comment shapes that were created by the comment module. In the same way, the layers from the widget module are adding widget shapes to the zone shapes of the layout shape.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Placement&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Placement_16"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;When rendering the collections of parts and fields -or any other shapes- that compose a page or content item, Orchard needs to know in what order to do so. Placement.info files are XML files that describe rules that can be used to determine what shapes go into what zones and in what order. This enables not only the rendering of each shape to be customized, but also the order in which they get rendered.&lt;br&gt;Here is an example of a placement file:&lt;pre&gt;&amp;lt;Placement&amp;gt;&#xD;
    &amp;lt;Place Parts_Map="Content:10"/&amp;gt;&#xD;
    &amp;lt;Place Parts_Map_Edit="Content:7.5"/&amp;gt;&#xD;
&amp;lt;/Placement&amp;gt;&#xD;
&lt;/pre&gt;&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Zone&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Zone_17"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;Zones are specific parts of a layout that can be customized by inserting widgets. In some themes, zones are collapsible, which means that they disappear if they contain no active widget.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Widget&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Widget_18"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;A widget is a small fragment of UI that can be added to some or all pages of the site. Examples of widgets are tag clouds, maps, archives, a search form, or recent blog posts. &#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517369509.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517503563.png" width="977" height="662"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Layer&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Layer_19"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;A layer is a group of widgets (with their specific configuration, which includes their positioning -zone name and ordering-) that is activated by a specific rule.&lt;br&gt;For example, the TheHomePage layer is activated by a rule that specifically selects the home page. The Default layer is always active no matter what page is displayed. The Authenticated layer is only active when users have identified themselves.&lt;br&gt;When more than one layer is active on any given page, all the widgets from all those layers get displayed at the same time. Orchard orders them based on their position string.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Security&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Security_33"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Users and roles&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Users_and_roles_20"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;In Orchard, users can be attributed roles, which can be seen as stereotypes of users. Permissions can then be attributed to roles in order to define who can do what on the site (more on this in the next section). Any user can have one or several roles.&lt;br&gt;Site owners can create their own roles but Orchard comes with built-in roles that should cover most sites' requirements: &#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Administrator: have full control over the site's settings and contents. &#xD;
&lt;li&gt;Editor: does not create content but edit and publish content created by authors. &#xD;
&lt;li&gt;Moderator: validates user-created contents such as comments. &#xD;
&lt;li&gt;Author: writes and publishes his own content. &#xD;
&lt;li&gt;Contributor: writes content but does not necessarily have the rights to publish it. &#xD;
&lt;li&gt;Anonymous: an unknown user, someone who hasn't logged in. &#xD;
&lt;li&gt;Authenticated: any user who has logged in.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;Neither Anonymous nor Authenticated can be assigned to a user manually. Rather, they are determined dynamically at runtime.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Privileges and Permissions&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Privileges_and_Permissions_21"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;All users don't have the same rights and privileges in Orchard: the site owner can choose who can create content, who can write or validate comments, etc. Rights and privileges are represented as permissions. In Orchard, permissions are granted to roles but are not explicitly denied. In other words if a user belongs to any role that has a given permission, he has that permission. To revoke a permission, you need to either remove a user with the role the permission has been granted to or you need to remove that permission for the whole role.&lt;br&gt;Some permissions are "effectively granted". This means that they have not been explicitly granted, but that they have been implied by another permission. For example, if you grant the site owner permission, you are implicitly granting all the other permissions. &#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517527269.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/haohello/201103/201103231517557495.png" width="720" height="485"&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Permissions, as well as their default settings for the built-in roles, are defined by modules. This means that if you build your own module, you can define specific permissions to accompany it.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Site owner&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Site_owner_22"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;The site owner, sometimes also called "super user" is a special user that is defined at setup time and that has all the rights on the site. It can be changed from the settings admin screen if you have the permission to do so.&lt;br&gt;There is a permission called "Site Owners Permission" that grants the same right and that is granted by default to only members of the Administrator role. We advise never to grant that permission to any other role.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Development&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Development_34"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;In this section we will describe concepts that are only required for module developers.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;ASP.NET MVC&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#ASPNET_MVC_23"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;ASP.NET MVC is the Web framework that Orchard is built on.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Handler&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Handler_24"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;A handler is similar to an MVC filter in that it contains code that will execute for specific events of the request life-cycle. They are typically used to set-up data repositories or to do additional operations when something gets loaded.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Driver&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Driver_25"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;Drivers are similar to MVC controllers, but they act at the level of a content part instead of at the level of the full request. They typically prepare shapes for rendering and handle post-backs from admin editors.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Record&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Record_26"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;A record is a class that models the database representation of a content part. They are POCOs where each property must be virtual.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Model&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Model_27"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;What plays the part of the model for a content part is the part class itself. Some parts also define view models, in the form of strongly-typed classes or of more flexible dynamic shapes.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Migration&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Migration_28"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;A migration is a description of the operations to execute when first installing a feature or when upgrading it from a version to the next. This enables smooth upgrades of individual features without data loss. Orchard includes a data migration framework.&lt;br&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Injection&lt;a href="http://orchardproject.net/docs/Basic-Orchard-Concepts.ashx#Injection_29"&gt;¶&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;Inversion of Control, or injection, is widely used in Orchard. When any piece of code requires a dependency, it will typically demand the injection of one or several instances of a specific interface. The framework will take care of selecting, instantiating and injecting the right implementations at runtime. &#xD;
&lt;img src="http://www.cnblogs.com/haohello/aggbug/1992559.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/haohello/archive/2011/03/23/1992559.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/haohello/archive/2011/03/09/1978395.html</id><title type="text">Orchard自定义开发学习计划</title><summary type="text">因为我们中的有些同学对于Orchard以及C#等技术都很陌生，所以我就特别地准备这样一篇文章，以便他们能够更快速的入门。 Orchard是一个基于ASP.NET MVC3的CMS系统，所以要为Orchard单独开发模块的话，得先会ASP.NET MVC3， 所以大概初始的路线应该是这样子的。 C#—&amp;gt;HTML/CSS/JavaScript—&amp;gt;ASP.NET---&amp;gt;ASP.NET MVC3---&amp;gt;O...</summary><published>2011-03-09T07:31:00Z</published><updated>2011-03-09T07:31:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2011/03/09/1978395.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2011/03/09/1978395.html"/><content type="html">&lt;p&gt;因为我们中的有些同学对于Orchard以及C#等技术都很陌生，所以我就特别地准备这样一篇文章，以便他们能够更快速的入门。&lt;/p&gt; &lt;p&gt;Orchard是一个基于ASP.NET MVC3的CMS系统，所以要为Orchard单独开发模块的话，得先会ASP.NET MVC3， 所以大概初始的路线应该是这样子的。&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;C#—&amp;gt;HTML/CSS/JavaScript—&amp;gt;ASP.NET---&amp;gt;ASP.NET MVC3---&amp;gt;Orchard&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;关于C#的学习，可以参考这本书籍，&lt;a href="http://product.dangdang.com/product.aspx?product_id=20991544&amp;amp;ref=search-1-pub" target="_blank"&gt;C# 4.0完全参考手册&lt;/a&gt;&lt;/li&gt; &lt;li&gt;HTML/CSS/JavaScript的学习，可以参考&amp;nbsp;&amp;nbsp; &lt;a href="http://product.dangdang.com/product.aspx?product_id=20521857&amp;amp;ref=search-1-pub" target="_blank"&gt;HTML/CSS/JavaScript标准教程&lt;/a&gt;&lt;/li&gt; &lt;li&gt;ASP.NET的学习，可以参考&amp;nbsp; &lt;a href="http://product.dangdang.com/product.aspx?product_id=20963346&amp;amp;ref=search-1-pub" target="_blank"&gt;ASP.NET4权威指南&lt;/a&gt;&lt;/li&gt; &lt;li&gt;ASP.NET MVC3 &lt;a href="http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part1-cs" target="_blank"&gt;ASP.NET MVC 3&lt;/a&gt;&amp;nbsp; 这部分现在还没有翻译的版本，我会逐步地翻译过来的，不过速度会有些慢&lt;/li&gt; &lt;li&gt;Orchard的学习&amp;nbsp; &lt;a href="http://orchardproject.net/docs/" target="_blank"&gt;Documentation&lt;/a&gt; 这部分现在还没有翻译的版本，我会逐步地翻译过来的，不过速度会有些慢&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://www.cnblogs.com/haohello/aggbug/1978395.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/haohello/archive/2011/03/09/1978395.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/haohello/archive/2011/03/09/1978352.html</id><title type="text">关于Orchard CMS</title><summary type="text">Orchard是一个ASP.NET平台下的免费开源的社区项目，该项目旨在提供基于ASP.NET的应用以及可重用的组件。 利用Orchard我们可以创建基于ASP.NET平台可共享的组件以及扩展应用，可以创建满足最终客户、网页设计人员、开发人员等各种需求的特定网站应用程序。另外，我们也在寻求和现有的类似应用程序的作者们一起合作以便能够更好地帮助他们实现自己的目标。Orchard项目是作为Outerc...</summary><published>2011-03-09T07:01:00Z</published><updated>2011-03-09T07:01:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2011/03/09/1978352.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2011/03/09/1978352.html"/><content type="html">&lt;p&gt;Orchard是一个ASP.NET平台下的免费开源的社区项目，该项目旨在提供基于ASP.NET的应用以及可重用的组件。&lt;/p&gt; &lt;p&gt;利用Orchard我们可以创建基于ASP.NET平台可共享的组件以及扩展应用，可以创建满足最终客户、网页设计人员、开发人员等各种需求的特定网站应用程序。另外，我们也在寻求和现有的类似应用程序的作者们一起合作以便能够更好地帮助他们实现自己的目标。Orchard项目是作为Outercurve基金会旗下的ASP.NET开源平台的一部分发布的。Orchard所使用的许可是基于OSI批准的新BSD许可。&lt;/p&gt; &lt;p&gt;Orchard项目旨在达到以下三个目标:&lt;/p&gt; &lt;p&gt;* 对最终客户、网页设计人员、开发人员有吸引力的、基于.NET的应用程序&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 开发出一组可以重用的组件，使得在Orchard平台开发网站应用更为简便&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 创建一个活跃的社区，以便帮助我们更好的定义这些应用以及扩展程序&lt;/p&gt; &lt;p&gt;近期的计划是，Orchard的目的是发布一个可以使得用户快速创建内容驱动的网站的ASP.NET内容管理系统，这个系统可以使得开发人员通过定制开发单独的模块和主题来提供额外的功能。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/haohello/aggbug/1978352.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/haohello/archive/2011/03/09/1978352.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/haohello/archive/2008/05/11/1192720.html</id><title type="text">在Visual Studio 2008里使用OpenGL</title><summary type="text">打开 Visual C++并创建一个新工程 在文件菜单下选择 New → Project (Ctrl+Shift+N). 选择Win32 Project, 输入工程名字, 然后点击OK. 在工程创建向导里点击 Next, 然后选择Empty Project, 点击 Finish. 给新建的工程中添加一个代码文件: 在工程菜单下选择 Add New Item (Ctrl+Shift+A). 选择 C++ File (.cpp), 输入文件名, 点击 OK. 链接OpenGL 库: 在Project菜单下选择 Project Properties (Alt+F7) . 在左侧的导航面板中 选择 C</summary><published>2008-05-11T14:51:00Z</published><updated>2008-05-11T14:51:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2008/05/11/1192720.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2008/05/11/1192720.html"/></entry><entry><id>http://www.cnblogs.com/haohello/archive/2008/03/01/1086774.html</id><title type="text">Google Maps API编程资源大全</title><summary type="text">Google Maps API是Google自己推出编程API，可以让全世界对Google Maps有兴趣的程序设计师自行开发基于Google Maps的服务，建立自己的地图网站。以下是我在Google Maps API开发过程中找到的一些API的编程资源，包括中文文档，中文说明，示例等等，希望对Google Maps编程感兴趣的程序员有所帮助。　　中文资料部分 （包括中文的文档说明等，以下的网址...</summary><published>2008-02-29T16:07:00Z</published><updated>2008-02-29T16:07:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2008/03/01/1086774.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2008/03/01/1086774.html"/></entry><entry><id>http://www.cnblogs.com/haohello/archive/2008/02/29/1086767.html</id><title type="text">Google Maps API编程资源大全</title><summary type="text">Google Maps API是Google自己推出编程API，可以让全世界对Google Maps有兴趣的程序设计师自行开发基于Google Maps的服务，建立自己的地图网站。以下是我在Google Maps API开发过程中找到的一些API的编程资源，包括中文文档，中文说明，示例等等，希望对Google Maps编程感兴趣的程序员有所帮助。　　中文资料部分 （包括中文的文档说明等，以下的网址...</summary><published>2008-02-29T15:54:00Z</published><updated>2008-02-29T15:54:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2008/02/29/1086767.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2008/02/29/1086767.html"/></entry><entry><id>http://www.cnblogs.com/haohello/archive/2008/02/29/1086764.html</id><title type="text">Google Chart API （1）</title><summary type="text">Google Chart API 参考 中文版文档信息简介Google Chart API 为您提供动态创建图表的功能。单击下边的网址查看示例演示：http://chart.apis.google.com/chart?cht=p3&amp;amp;chd=s:hW&amp;amp;chs=250x100&amp;amp;chl=Hello|World您应该看到如下图表目的本文档为使用 Google Chart API 的...</summary><published>2008-02-29T15:52:00Z</published><updated>2008-02-29T15:52:00Z</updated><author><name>haohello</name><uri>http://www.cnblogs.com/haohello/</uri></author><link rel="alternate" href="http://www.cnblogs.com/haohello/archive/2008/02/29/1086764.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/haohello/archive/2008/02/29/1086764.html"/></entry></feed>
