您的位置:首页 > 编程语言 > ASP

[翻译]使用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。就此停笔。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐