EntLib.com 开源博客平台

本博客平台专注于开源.Net 系统,如开源ASP.NET论坛、开源ASP.NET博客、开源ASP.NET电子商务平台(前台购物系统和后台业务处理系统),以及分享、交流Microsoft .Net平台的相关技术及企业架构设计,如.Net Framework、ASP.NET、C#、ADO.NET Entity Framework、MVC Framework、AJAX、LINQ、SQL Server、Service Broker、WCF/WF/WPF、BizTalk、ESB (Enterprise Service Bus)、SOA (Service-Oriented Architecture) 、Enterprise Library 等等。

EntLib.com 博客平台完全开放源码,欢迎访问论坛:
http://forum.EntLib.com
进行交流、分享。

Powered By:

统计信息

  • 博客: 101
  • 随笔: 212
  • 文章: 3
  • 评论: 503
  • 引用: 0

博客列表



最新评论


推荐技术专题


Enterprise Library 专题

ASP.NET MVC 专题
  Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。

查看详细信息...
  根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。

查看详细信息...


首页最新随笔

转到页面:<<2345678910

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 9

本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。本文由http://forum.entlib.com 开源论坛小组提供。

本文继续ASP.NET MVC 学习之旅,本文的重点是《实现Details视图模板》。
...... 阅读全文

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 8

本文继续ASP.NET MVC 1.0学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。

本文重点介绍了:(1)在DinnersController控制器中使用DinnerRepository;(2)控制器Controller使用视图Views;(3)实现NotFound视图模板等等。 ...... 阅读全文

Enterprise Library for .NET Framework 3.5 (EntLib v4.1) 微软企业库v4.1实验手册发布啦!

Enterprise Library for .NET Framework 3.5 (EntLib v4.1) 微软企业库v4.1实验手册发布啦!
 
Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。
 
Enterprise Library v4.1 实验手册包括全部9个Application Block,如下图所示。
 
 
EntLib v4.1 下载地址,包括EntLib v4.1安装包和实验手册:
 
希望有兴趣一起翻译的朋友,欢迎和我们联系:entlib@hotmail.com
 
 

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 7

本文继续ASP.NET MVC学习之旅,这里重点介绍控制器和视图(Controllers and Views)。
传统的Web框架,如ASP/PHP/ASP.NET Web Forms等等,请求的URL地址都是映射到特定的文件。如,请求的URL地址,像/Products.aspx或/Products.php,由Products.aspx或Products.php文件负责处理。 基于Web的MVC框架映射URL地址到服务器端代码有点不同,不是映射URL地址到特定文件,而是映射到类的方法上。这些类就是MVC中的Controller控制器,它们负责处理进来的请求和用户输入,接收和保存数据,并返回结果给客户端
下面这个表格演示URL地址如何使用默认的/{controller}/{action}/{id} 规则进行映射:
...... 阅读全文

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 6

本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。

本文重点介绍了使用DinnerRepository类实现检索、更新、插入和删除操作,以及Model类集成验证和业务规则逻辑。 ...... 阅读全文

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 5

本文继续学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
NerdDinnerDataContext 类 Visual Studio 自动生成.NET类,表示LINQ to SQL设计器创建的模型和数据库关系,同时也会每一个LINQ to SQL设计器文件生成LINQ to SQL DataContext 类。因为,我们命名LINQ to SQL类为NerdDinner,创建的DataContext类将命名为NerdDinnerDataContext,NerdDinnerDataContext类将是我们与数据库交互的基本方式。
...... 阅读全文

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 4

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 4
 
本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。本文由http://forum.entlib.com 开源论坛小组提供。关于本文的一些资源,请参考文章最后的链接。
 
前面系列文章:
 
本文继续学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
 
创建Model模型
在Model-View-Controller 框架中,model表示应用程序的数据对象,以及相应的业务领域逻辑,包括数据验证和业务规则。model是MVC应用程序的核心部分,下面我们会看到model的作用。
ASP.NET MVC框架支持使用任意数据访问技术,开发人员可以选择大量的.NET 数据访问技术实现model,如LINQ to Entities、LINQ to SQL、NHibernate、LLBLGen Pro、SubSonic、WilsonORM、或者基本的ADO.NET DataReaders、DataSets等等。
对于本范例程序NerdDinner,我们将采用LINQ to SQL创建一个简单的业务领域模型,非常接近于数据库的设计,并增加了一些定制的验证逻辑和业务规则。接下来实现一个repository类,帮助抽象化数据实体的实现,允许我们轻松实现单元测试。
 
LINQ to SQL
LINQ to SQL是.NET 3.5的ORM(Object Relational Mapper)部分。LINQ to SQL提供了一个简单的方式映射数据表到.NET 类。对于我们的NerdDinner范例程序,我们将映射Dinners和RSVP数据表到Dinner和RSVP模型类。Dinners和RSVP数据表中的列将映射为Dinner和RSVP模型类的属性。每一个Dinner和RSVP对象将表示Dinners或RSVP数据表中的一条单独的数据记录。
LINQ to SQL避免让我们手动创建SQL脚本从数据库中检索和更新Dinner和RSVP对象。在访问或更新数据库记录时,LINQ to SQL将负责生成合适的SQL执行逻辑。我们可以使用VB和C#支持的LINQ语言写查询表达式,检索Dinner和RSVP对象。这样可以大量减少代码行,构建清晰的应用程序。
 
增加LINQ to SQL类到项目程序中
现在终于可以回到我们的NerdDinner应用程序了!右键点击Models文件夹,选择Add -> New Item 菜单项。
 

 
在弹出的Add New Item对话框,如下图所示。选择LINQ to SQL Classes模板,命名为NerdDinner.dbml,然后点击Add 按钮。Visual Studio 将添加NerdDinner.dbml 文件到\Models目录,并自动打开LINQ to SQL对象关系设计器。
 
 
使用LINQ to SQL 创建Data Model Classes
LINQ to SQL允许我们从现有的数据库快速数据模型类。我们可以在Server Explorer窗口打开NerdDinner数据库,并选择需要建模的数据表。将表Dinners和RSVP表拖拉到NerdDinner.dbml设计器中,如下图所示。
 

 
默认情况下,LINQ to SQL设计器在基于数据表创建类时,自动复数化表和列名。例如,范例中的Dinners表自动产生Dinner类。这一类的命名有助于我们的模型类符合.NET命名规范。但是,如果你不喜欢设计器自动生成的类或属性名,你可以在设计器中编辑或者通过属性列表进行更新。
另外,默认情况下,LINQ to SQL设计器也会自动监视主键/外键关系,并基于这些关系,创建不同模型类之间的关联关系。如上图所示,当我们拖拉Dinners 和 RSVP表到LINQ to SQL设计器上时,自动创建1对多的关联关系,图中通过一个箭头进行表示。
上述关联关系将让LINQ to SQL增加一个强类型的Dinner属性到RSVP类中,开发人员可以使用指定RSVP的Dinner属性访问关联的实体。也会让Dinner类有一个强类型的RSVP集合属性,允许开发人员检索和更新Dinner关联的RSVP对象集合。
 
下面,我们看看当创建RSVP对象,并增加到Dinner’s RSVP集合是,Visual Studio 的智能提示:
 
 
从上可以看到LINQ to SQL如何为Dinner对象创建RSVPs 集合,我们使用这个关联数据表Dinner和RSVP之间的一个外键关系。
 

 
如果你不喜欢设计器的建模或命名的关联关系,你可以更改。点击设计器中的关联箭头,访问属性窗口,可以进行重命名、删除或者更改。对于NerdDinner应用程序,我们将使用默认的设置。
 
 
今天就到这里了,明天继续翻译ASP.NET MVC eBook – 开发NerdDinner 范例程序向导。欢迎访问http://blog.EntLib.com 博客平台获取更多的MVC学习资料。
 
相关资源下载链接:
1. ASP.NET MVC 1.0 正式版发布了!!!
 
2. 免费ASP.NET MVC eBook 向导-电子书下载
 

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 3

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 3
 
本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。本文由http://forum.entlib.com 开源论坛小组提供。关于本文的一些资源,请参考文章最后的链接。
 
前面系列文章:
 
本文继续学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
 
创建数据库
我们将使用数据库来存储NerdDinner应用程序的所有的Dinner和RSVP数据。这里,我们采用SQL Server 2008 来创建和管理NerdDinner 数据库。需要向数据库中增加2张表,一个表用来存放Dinners数据,另一个用来跟踪RSVP。
 
如下图所示,有NerdDinner数据库,Dinners数据表,其中DinnerID 字段设置为主键,并且设置为自增长。
 
 
接下来按照相同的步骤,创建 RSVP数据表,该表有3列。设置RsvpID列为主键,同时设置为identity-自增长。最后,保存表名为 RSVP,如下图所示。
 
 
设置表之间的外键关系
NerdDinner数据库有2个表,设置one-to-many 1对多关系,这样我们可以关联每一条Dinner记录到0或者多条RSVP记录。
 
打开RSVP表,右键点击DinnerID字段,选择“关系…”菜单项,如下图所示。
 
弹出外键关系对话框,设置两个表之间的外键关系。点击添加按钮,添加一个新的关系到对话框。一旦添加关系后,进一步点击“表和列规范”后面的…按钮,如下图所示。
 
 
接下来弹出表和列对话框,指定相关的表和列的关系。如下图所示,进行1对多关系的设置。现在,RSVP表中的每一条记录关联到Dinners表的一条记录。SQL Server将负责维护数据的一致性,阻止用户增加没有对应Dinner记录的新RSVP行,也阻止用户删除还存在RSVP行关联的Dinner记录。
 
 
增加数据到Dinners数据表
下面我们增加一个示例数据到Dinners表,这些数据在随后的应用程序开发中会用到。
 
 
今天就到这里了,明天继续翻译ASP.NET MVC eBook – 开发NerdDinner 范例程序向导。欢迎访问http://blog.EntLib.com 博客平台获取更多的MVC学习资料。
 
相关资源下载链接:
1. ASP.NET MVC 1.0 正式版发布了!!!
 
2. 免费ASP.NET MVC eBook 向导-电子书下载
 

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 2

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 2
 
本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。本文由http://forum.entlib.com 开源论坛小组提供。关于本文的一些资源,请参考文章最后的链接。
 
前面系列文章:
 
本文继续学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
 
运行NerdDinner 应用程序
通过Visual Studio 2008 运行上一步创建的NerdDinner应用程序,将启动内置的ASP.NET Web Server。如下是NerdDinner应用程序的首页:
 

 
点击About链接,显示about页面,如下图所示:
 
 
点击右上角的Log On 链接,进入Login登录页面,如下图所示:
 
 
 
如果没有登录帐号,可以点击Register注册链接(URL地址:/Account/Register),注册一个帐号:
 
 
上述主页、about页面、Logout/Register页面功能的实现是我们在创建MVC项目时默认添加的,我们将使用这些代码作为应用程序的起始点。
 
测试NerdDinner 应用程序
如果使用专业版或者更高级的Visual Studio 2008版本,则可以使用Visual Studio内置的单元测试IDE测试项目。
 
 
选择上述菜单项,将在VS 2008 中打开Test Results 面板,显示了27个单元测试的pass/fail状态,这些包含在我们新建的项目中,覆盖了内置的功能。如下图所示:
 
 
今天就到这里了,明天继续翻译ASP.NET MVC eBook – 开发NerdDinner 范例程序向导。欢迎访问http://blog.EntLib.com 博客平台获取更多的MVC学习资料。
 
相关资源下载链接:
1. ASP.NET MVC 1.0 正式版发布了!!!
 
2. 免费ASP.NET MVC eBook 向导-电子书下载
 

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 1

一步一步学习ASP.NET MVC 1.0创建NerdDinner 范例程序,Part 1
 
本文根据《Professional ASP.NET MVC 1.0》中微软牛人Scott Guthrie 提供免费下载的第一章,一步一步演示如何通过ASP.NET MVC 1.0 正式版创建NerdDinner 范例程序。对了解如何使用最新的ASP.NET MVC 1.0框架创建Web Application 非常有帮助。本文由http://forum.entlib.com 开源论坛小组提供。关于本文的一些资源,请参考文章最后的链接。
 
首先,根据《ASP.NET MVC 1.0 正式版发布了》文章,下载并安装ASP.NET MVC 1.0 正式版。安装界面如下:

 
 
创建MVC Web Application
在安装好ASP.NET MVC 1.0框架后,就可以创建ASP.NET MVC Web Application 了。File -> New Project 创建MVC Web Application,如下图所示。项目名称设置为 NerdDinner。
 
 
 
点击确定按钮后,Visual Studio 将弹出一个创建单元测试项目(Create Unit Test Project)的对话框,如下图所示。单元测试项目允许我们创建自动测试,验证应用程序的功能和行为。我们采用默认设置和名称,点击OK按钮。
 
 
Visual Stuido 将创建一个Solution,包含有2个项目,一个是MVC Web 应用程序,另一个是单元测试项目。
 
检查NerdDinner 项目的目录结构
在使用Visual Studio 创建ASP.NET MVC 应用程序时,它会自动增加一些文件和目录到项目中,如下图所示。
 

 
默认情况下,ASP.NET MVC项目有6个顶级目录。
Controls – 放置Controller类,处理URL请求。
Models – 放置业务实体类,表示和操作数据。
Views – 放置UI模板文件,负责展示输出结果。
Scripts – 放置Javascript 类库文件和.js 文件。
Contents – 放置CSS和图像文件,以及其他非动态的、非Javascript文件。
App_Data – 放置数据库文件。
 
ASP.NET MVC应用程序不是必须要求这样的目录结构。事实上,大型系统的开发人员通常会将应用程序分为多个项目文件,这样是项目更易于管理(如,数据Model类通常在一个单独的类库项目中)。默认的项目结构提供了常规的目录结构,用来保存应用程序更加清晰。
 
当我们展开/Controllers 目录时,可以发现默认情况下,Visual Studio 自动增加了2个Controller 类 – HomeController 和 AccountController。
在展开/Views目录时,发现自动添加了三个子目录,分别为:/Home, /Account 和 /Shard。同时,也添加了一些模板文件。
 
 
 
当展开/Content 和 /Scripts文件后,会发现自动添加的Site.css 文件和Javascript文件,其中Site.css 文件用来对站点的HTML进行格式定义,Javascript 文件则使Web应用程序支持ASP.NET AJAX和jQuery。
 
当展开NerdDinner.Tests 项目时,会发现有2个类,包含了对Controller类的单元测试。如下图所示。
 
 
Visual Studio 增加的这些默认文件提供了一个可工作的应用程序的基本结构,包括homepage、about页面、登录/logout/注册等等页面,以及一个unhandled错误页面。
 
今天就到这里了,明天继续翻译ASP.NET MVC eBook – 开发NerdDinner 范例程序向导。欢迎访问http://blog.EntLib.com 博客平台获取更多的MVC学习资料。
 
相关资源下载链接:
1. ASP.NET MVC 1.0 正式版发布了!!!
 
2. 免费ASP.NET MVC eBook 向导-电子书下载