MVC

ASP.NET MVC Framework

推荐《Pro ASP.NET MVC Framework》-下载免费第二章

推荐《Pro ASP.NET MVC Framework》-下载免费第二章 Apress《Pro ASP.NET MVC Framework》已经出版了,并且还提供ebook版本,感兴趣的可以访问如下链接: http://www.apress.com/book/view/9781430210078 同时,Apress 网站还提供了第二章,供免费下载。该章共有23页,非常详细地介绍...

posted @ 2009年4月28日 22:18 | entlibforum 阅读 (2624) | 评论 (0)

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

本文继续学习ASP.NET MVC 1.0 实现NerdDinner 范例程序之旅。首先恭喜恭喜,本文终于是本系列文章的最后一篇了。本节详细演示了创建DinnersController的编辑功能的单元测试,包括HTTP-GET和HTTP-POST两个版本。并引入了Mocking Framework,模仿User.Identity.Name熟悉,帮助测试方法在脱离web server运行环境下,正常进行单元测试。

posted @ 2009年4月16日 22:16 | entlibforum 阅读 (3759) | 评论 (15)

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

本文继续学习ASP.NET MVC 1.0 实现NerdDinner 范例程序之旅。本节详细演示了如何实现依赖注入(Dependency Injection)。现在DinnersController紧耦合DinnerRepository类,耦合(Coupling)指一个类显式依赖另外的一个类才能工作。
首先,提取IDinnerRepository接口。然后,更新DinnersController支持构造器注入。最后,在 NerdDinner.Tests项目中创建Fakes目录,接着添加一个新的FakeDinnerRepository,在单元测试中使用FakeDinnerRepository。
文章最后简单介绍了Repository Pattern模式和依赖注入(Dependency Injection)。

posted @ 2009年4月15日 21:37 | entlibforum 阅读 (3020) | 评论 (9)

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

本文继续学习ASP.NET MVC 1.0 实现NerdDinner 范例程序之旅。本节详细演示了如何对MVC应用程序进行单元测试。分别为Dinner模型类和DinnersController创建单元测试,并运行单元测试,验证访问的准确性。
下一节将演示“依赖注入(Dependency Injection)”设计模式,可以帮助我们解决本节中存在一些问题,并避免在测试过程中使用真实的数据库。

posted @ 2009年4月12日 20:19 | entlibforum 阅读 (3053) | 评论 (7)

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

本文继续学习ASP.NET MVC 1.0 实现NerdDinner 范例程序之旅。本节重点介绍了在范例程序中集成AJAX地图,使应用程序更加可视化。这样,在用户创建、编辑或者查看宴会信息时,可以看到宴会的地理位置信息。并且为了保持代码的简洁,我们封装通用的地图功能在一个单一的partial视图模板中,然后在多个Controller action方法和视图中重用。
关于NerdDinner范例程序和Map地图集成的内容,因为涉及过多JavaScript的内容,本人对此不甚了解,也没有什么兴趣,就忽略了(原文内容从152页-165页)。

posted @ 2009年4月11日 23:14 | entlibforum 阅读 (2969) | 评论 (4)

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

本文继续ASP.NET MVC 1.0 实现NerdDinner 范例程序学习之旅。本节包含两部分的内容:
1.利用jQuery,在Details视图中实现动画显示部分文本内容;
2.重构Details.aspx视图模板,提取出RSVP.ascx和EditAndDeleteLinks.ascx partial试图模板,简化Details视图模板。代码变得更加简洁,易于阅读和维护。

posted @ 2009年4月11日 20:55 | entlibforum 阅读 (3036) | 评论 (3)

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

本文继续ASP.NET MVC 1.0实现NerdDinner 范例程序学习之旅,本节的重点是在Dinner的详细页面,使用Ajax.ActionLink() 辅助方法调用RSVPController中的Register Action方法,实现让已登录的用户回复参加晚宴这一功能。

posted @ 2009年4月11日 17:24 | entlibforum 阅读 (3536) | 评论 (9)

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

本文继续演示了ASP.NET MVC认证和授权的实现,本节重点介绍了对DinnersController中Edit和Delete action方法进行认证和授权设置。
现在当一个未授权的用户视图编辑一条Dinner记录时,将显示如下错误信息页面:

posted @ 2009年4月10日 22:16 | entlibforum 阅读 (3241) | 评论 (3)

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

现在NerdDinner范例程序可以让访问网站的任何人创建和编辑任何Dinner的信息。下面我们改变这些,仅仅注册和登录的用户才允许创建新的Dinner,并且增加限制,仅仅Dinner的主人(Host)才允许编辑Dinner的详细信息。
为了实现上述功能,我们将使用认证和授权来保护应用程序。

posted @ 2009年4月10日 20:25 | entlibforum 阅读 (4179) | 评论 (4)

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

本文继续ASP.NET MVC 学习之旅,不断改进并增强NerdDinner范例程序。本文重点演示了如何实现分页功能。如果dinners列表记录过多,为了让用户更方便浏览,我们需要实现分页显示,而不是一次显示大量的记录列表。
在完成本节内容后,再访问NerdDinner应用程序时,每次将展示10条Dinners记录。

posted @ 2009年4月9日 20:58 | entlibforum 阅读 (4377) | 评论 (17)

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

本文描述了如何使用Partial 视图模板简化代码。在任何时候,如果你发现比较难理解视图模板中的HTML代码,就应该考虑是否提取和重构该视图模板为多个合适的partial视图。
除了支持Partial 视图外,ASP.NET MVC也支持创建master页面模板,该模板用来定义网站的通用的页面布局和上层的HTML脚本。添加到master页面的Content placeholder控件则用来定义可替换的区域,可以被其他视图来重载或填充。这提供了一个非常有效的方法在整个应用程序中应用相同的页面布局设计。
本文继续结合NerdDinner 范例程序,演示了Partial 视图模板和Master 页面的使用。

posted @ 2009年4月7日 22:56 | entlibforum 阅读 (3643) | 评论 (0)

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

ASP.NET MVC的一个设计理念是“Do Not Repeat Yourself”原则(通常称为DRY)。DRY设计帮助排除重复的代码和逻辑,让应用程序更快创建和更容易维护。
我们已经看到DRY原则应用在NerdDinner应用程序的一些方面了。如验证逻辑在Model层实现,在Controller的编辑和创建方法中均可执行;我们也跨越Edit、Details和Delete方法重用NotFound 视图模板;对View视图模板采用命名规范,这样在调用View() 辅助方法是不需要显式指定名称;另外在Edit和Create Action方法中重用DinnerFormViewModel类。
下面我们在View模板中应用DRY原则,减少重复的代码。

posted @ 2009年4月6日 21:42 | entlibforum 阅读 (4357) | 评论 (11)

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

本文进一步扩展DinnersController,实现丰富表单编辑功能。这里我们讨论2种方法,用来将数据从Controller传递到View:ViewData 和 ViewModel。

posted @ 2009年4月6日 0:44 | entlibforum 阅读 (5090) | 评论 (12)

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

Part 11-Part 17详细演示了如何实现Dinner对象的创建、更新和删除操作,最后进一步介绍了Model类绑定的一些细节特性和安全性,分为2部分:基于用途来锁定绑定(Locking down binding on a per-usage basis)和基于类型来锁定绑定(Locking down binding on a type basis)。

posted @ 2009年4月4日 17:33 | entlibforum 阅读 (3930) | 评论 (6)

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

本文继续ASP.NET MVC学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
我们进一步扩展DinnersController类实现编辑、创建和删除Dinners记录,重点包括如下内容:
本文完整介绍了实现删除Dinner对象和持久化到数据库的过程,包括在Controller类实现HTTP-GET和HTTP-POST的Delete Action方法,以及View视图等等。
我们已经完成了Dinner对象的创建、更新和删除的所有操作。恭喜!!!欢迎持续关注http://forum.entlib.com 开源论坛小组提供的后续文章。

posted @ 2009年4月4日 15:03 | entlibforum 阅读 (3511) | 评论 (4)

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

本文继续ASP.NET MVC学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
我们进一步扩展DinnersController类实现编辑、创建和删除Dinners记录,重点包括如下内容:
本文完整介绍了实现创建Dinner对象和持久化到数据库的过程,包括在Controller类实现HTTP-GET和HTTP-POST的Create Action方法,以及View视图等等。

posted @ 2009年4月4日 1:23 | entlibforum 阅读 (4103) | 评论 (18)

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

本文继续ASP.NET MVC学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
我们进一步扩展DinnersController类实现编辑、创建和删除Dinners记录,重点包括如下内容:
1.理解ModelState 和验证HTML辅助方法
2.Html 辅助方法和ModelState的集成
3.Html.ValidationMessage()辅助方法
4.Html.ValidationSummary()辅助方法
最后实现了控制器中Edit的所有逻辑,包括HTTP GET和HTTP POST。

posted @ 2009年4月3日 22:26 | entlibforum 阅读 (4286) | 评论 (6)

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

本文继续ASP.NET MVC学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
我们进一步扩展DinnersController类实现编辑、创建和删除Dinners记录,重点包括如下内容:
1.实现HTTP-POST的Edit Action方法
2.获取表单提交的值,演示了多种方法
3.处理编辑异常

posted @ 2009年4月2日 22:38 | entlibforum 阅读 (4900) | 评论 (9)

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

本文继续ASP.NET MVC学习之旅,一步一步通过ASP.NET MVC 1.0 实现NerdDinner 范例程序。
我们进一步扩展DinnersController类实现编辑、创建和删除Dinners记录,重点包括如下内容:
1.DinnersController处理URL请求
2.实现HTTP-GET 编辑的Action方法
3.介绍了Html.BeginForm() 和 Html.TextBox() HTML辅助方法

posted @ 2009年4月2日 19:37 | entlibforum 阅读 (5412) | 评论 (18)

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

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

posted @ 2009年4月1日 20:07 | entlibforum 阅读 (5143) | 评论 (7)

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

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

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

posted @ 2009年3月31日 22:25 | entlibforum 阅读 (6184) | 评论 (9)

一步一步学习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视图模板》。

posted @ 2009年3月31日 21:07 | entlibforum 阅读 (5208) | 评论 (16)

一步一步学习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视图模板等等。

posted @ 2009年3月30日 23:30 | entlibforum 阅读 (5579) | 评论 (4)

一步一步学习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} 规则进行映射:

posted @ 2009年3月29日 22:26 | entlibforum 阅读 (6771) | 评论 (5)

一步一步学习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类集成验证和业务规则逻辑。

posted @ 2009年3月29日 2:39 | entlibforum 阅读 (8576) | 评论 (16)

一步一步学习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类将是我们与数据库交互的基本方式。

posted @ 2009年3月28日 18:31 | entlibforum 阅读 (9881) | 评论 (30)

一步一步学习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 Applic...

posted @ 2009年3月28日 16:40 | entlibforum 阅读 (10326) | 评论 (25)

一步一步学习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 Applic...

posted @ 2009年3月28日 13:18 | entlibforum 阅读 (9308) | 评论 (0)

一步一步学习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 Applic...

posted @ 2009年3月28日 8:31 | entlibforum 阅读 (9884) | 评论 (3)

一步一步学习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 Applic...

posted @ 2009年3月28日 1:05 | entlibforum 阅读 (26391) | 评论 (22)

«三月»
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910