[翻译]使用asp.net mvc再造一个digg 第一部分
2008-03-02 10:07
525 查看
原文地址:http://dotnetslackers.com/articles/aspnet/KiggBuildingADiggCloneWithASPNETMVC1.aspx
原文作者:Kazi Manzur Rashid
本文地址:/article/5270596.html
本文译者:第一控制.NET
【代码下载】
学习怎样使用asp.net mvc, LINQ to SQL and ASP.NET AJAX打造一个digg类型的应用程序。
前言
前面一段时间,我一直试着学习新的ASP.NET MVC framework,我看到了很多这方面的高级话题的讨论,比如ioc容器/依赖注入,View Engine,Controller factory等。但是我找不到一篇简单的文章来展现ASP.NET MVC framework的能量。当然,知道那些高级话题确实有一些额外的好处,但是他们并不能对你你在ASP.NET MVC Framework开发上有所帮助。在DotNetSlackers team打造的这篇文章里,我将用asp.net mvc开发一个简单的类似Digg / DotNetKicks类型的程序。你可以在下面的地址里查看这个程序:
【程序演示】
注意:这篇文章和代码都是基于ASP.NET 3.5 Extensions的第一个预览版。每当新的预览出来的时候,我们将相应的更新。
译注:貌似mix08版很快就要出来的样子。
准备
scottgu关于ASP.NET MVC Framework的一套介绍:
ASP.NET MVC 框架 简介
ASP.NET MVC 教程 (第一部分)
ASP.NET MVC 教程 (第二部分: URL路径选择)
ASP.NET MVC 教程 (第三部分: 把ViewData从控制器传到视图)
ASP.NET MVC 教程 (第四部分: 处理表单编辑和提交场景)
译注:以上链接全部换为博客堂scottgu博客中文版链接,并比原文增加了第四部分的链接。
Scott Hanselman的一段很酷的视频教程Screencast。
概述
MVC (模式-视图-控制器)是一套开发ui为中心应用程序中很流行的模式。他建立在一个简单的概念上:把整个应用分割成三个逻辑模块
Model,模式
View,视图
Controller.控制器
ASP.NET MVC Framework是mvc模式的一套实现,并且内置了开发web应用的能力。让我们快速浏览一下这三个模块。
图一:MVC Framework
1. public class StoryController
1. public class UserController
1. protected void Application_Start(object sender, EventArgs e)
17. private static void RegisterRoutesForNewIIS(ICollection<Route> routes)
1. [TestInitialize]
2. public void Init()
9.
10. [TestMethod]
11. public void VerifyDefault()
29.
30. [TestMethod]
31. public void VerifyAllCategory()
1. [ControllerAction]
2. public void Login(string userName, string password, bool rememberMe)
1. [TestInitialize]
2. public void Init()
8.
9. [TestMethod]
10. public void ShouldLogin()
28.
29. [TestMethod]
30. public void ShoudNotLoginForEmptyUserName()
31. 32. controller.Login(string.Empty, DefaultPassword, false);
33.
34. Assert.AreEqual(controller.SelectedView, "Json");
35. Assert.IsInstanceOfType(controller.SelectedViewData, typeof(JsonResult));
36. Assert.IsFalse(((JsonResult)controller.SelectedViewData).isSuccessful);
37. Assert.AreEqual(((JsonResult)controller.SelectedViewData).errorMessage, "User name cannot be blank.");
38. }
综述
我最初想用一篇文章搞定所有问题,但是你也发现了,这篇文章实在是太长了。
译注:确实长的可以。
在这篇文章中,我们首先简单了解了一下ASP.NET MVC Framework,然后讲解了如何在controllers里定义功能,如何定义筛选规则并通过URLs测试他们,我们也看见了如何在Controller 中使用JSON 数据来代替完整的HTML视图。在本文的下一个部分里,我们讲着重讲解Controller,如何展示完整的HTML视图,使用master pages和user controls来创建视图,给视图发送强类型的view data和最后创建Model。就此停笔。
原文作者:Kazi Manzur Rashid
本文地址:/article/5270596.html
本文译者:第一控制.NET
【代码下载】
学习怎样使用asp.net mvc, LINQ to SQL and ASP.NET AJAX打造一个digg类型的应用程序。
前言
前面一段时间,我一直试着学习新的ASP.NET MVC framework,我看到了很多这方面的高级话题的讨论,比如ioc容器/依赖注入,View Engine,Controller factory等。但是我找不到一篇简单的文章来展现ASP.NET MVC framework的能量。当然,知道那些高级话题确实有一些额外的好处,但是他们并不能对你你在ASP.NET MVC Framework开发上有所帮助。在DotNetSlackers team打造的这篇文章里,我将用asp.net mvc开发一个简单的类似Digg / DotNetKicks类型的程序。你可以在下面的地址里查看这个程序:
【程序演示】
注意:这篇文章和代码都是基于ASP.NET 3.5 Extensions的第一个预览版。每当新的预览出来的时候,我们将相应的更新。
译注:貌似mix08版很快就要出来的样子。
准备
scottgu关于ASP.NET MVC Framework的一套介绍:
ASP.NET MVC 框架 简介
ASP.NET MVC 教程 (第一部分)
ASP.NET MVC 教程 (第二部分: URL路径选择)
ASP.NET MVC 教程 (第三部分: 把ViewData从控制器传到视图)
ASP.NET MVC 教程 (第四部分: 处理表单编辑和提交场景)
译注:以上链接全部换为博客堂scottgu博客中文版链接,并比原文增加了第四部分的链接。
Scott Hanselman的一段很酷的视频教程Screencast。
概述
MVC (模式-视图-控制器)是一套开发ui为中心应用程序中很流行的模式。他建立在一个简单的概念上:把整个应用分割成三个逻辑模块
Model,模式
View,视图
Controller.控制器
ASP.NET MVC Framework是mvc模式的一套实现,并且内置了开发web应用的能力。让我们快速浏览一下这三个模块。
图一:MVC Framework
1. public class StoryController
1. public class UserController
1. protected void Application_Start(object sender, EventArgs e)
17. private static void RegisterRoutesForNewIIS(ICollection<Route> routes)
1. [TestInitialize]
2. public void Init()
9.
10. [TestMethod]
11. public void VerifyDefault()
29.
30. [TestMethod]
31. public void VerifyAllCategory()
1. [ControllerAction]
2. public void Login(string userName, string password, bool rememberMe)
1. [TestInitialize]
2. public void Init()
8.
9. [TestMethod]
10. public void ShouldLogin()
28.
29. [TestMethod]
30. public void ShoudNotLoginForEmptyUserName()
31. 32. controller.Login(string.Empty, DefaultPassword, false);
33.
34. Assert.AreEqual(controller.SelectedView, "Json");
35. Assert.IsInstanceOfType(controller.SelectedViewData, typeof(JsonResult));
36. Assert.IsFalse(((JsonResult)controller.SelectedViewData).isSuccessful);
37. Assert.AreEqual(((JsonResult)controller.SelectedViewData).errorMessage, "User name cannot be blank.");
38. }
综述
我最初想用一篇文章搞定所有问题,但是你也发现了,这篇文章实在是太长了。
译注:确实长的可以。
在这篇文章中,我们首先简单了解了一下ASP.NET MVC Framework,然后讲解了如何在controllers里定义功能,如何定义筛选规则并通过URLs测试他们,我们也看见了如何在Controller 中使用JSON 数据来代替完整的HTML视图。在本文的下一个部分里,我们讲着重讲解Controller,如何展示完整的HTML视图,使用master pages和user controls来创建视图,给视图发送强类型的view data和最后创建Model。就此停笔。
相关文章推荐
- 使用asp.net mvc再造一个digg 第一部分
- 【翻译】使用ASP.NET MVC 和LINQ建立一个简单的博客 - Part 3
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
- 【翻译】使用ASP.NET MVC 和LINQ建立一个简单的博客 - Part 2
- 【翻译】使用ASP.NET MVC 和 LINQ 创建一个Blog引擎实例-第一节
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 1
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 2
- 【EntityFramework系列教程六,翻译】在ASP.NET MVC程序中使用EntityFramework对相关数据进行更新
- [转载] [翻译]在ASP.NET MVC中使用TDD与依赖注入
- [翻译:ASP.NET MVC 教程]创建一个控制器
- [翻译] 使用ASP.NET MVC操作过滤器记录日志
- 创建一个区域(Creating an Area) |使用区域 | 高级路由特性 | 精通ASP-NET-MVC-5-弗瑞曼
- [渣翻译] 在ASP.NET MVC WebAPI项目中使用 AngularJS
- ASP.NET没有魔法——ASP.NET MVC使用Area开发一个管理模块
- [翻译:ASP.NET MVC 教程]创建一个动作
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 3
- 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二
- 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之三
- 使用asp.net mvc 创建一个blog发布系统
- [翻译] 使用ASP.NET MVC操作过滤器记录日志