一步一步学习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 向导-电子书下载
 

 

发表 @ 2009年3月28日 1:05

打 印

评论

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

Left by yangyang at 2009/4/6 8:27
Gravatar
非常感谢!支持楼主!

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

Left by 哈哈 at 2009/4/12 10:36
Gravatar
请问我用的是vs2005,安装了fr.3.5的升级包,然后安装了mvc文件


可是为什么新建项目的时候没有选项 mvc web 呢?

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

Left by entlibforum at 2009/4/12 17:12
Gravatar
ASP.NET MVC 1.0 仅支持vs2008,不支持vs 2005。

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

Left by kevinhuang at 2009/4/20 10:26
Gravatar
奇怪我按照教程作法 也产生了mvcapplication专案
但是却没发现有测试的目录
作了几次都这样
请问怎摸回事

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

Left by entlibforum at 2009/4/20 17:37
Gravatar
kevinhuang,我们Team中也有一位同事碰到了和你一样的问题,在其他电脑上操作又是正常的。
最后的解决办法是:卸载visual studio 2008,然后重新安装visual studio 2008 + sp1 + ASP.NET MVC 1.0,问题就解决了。

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

Left by .net,mvc at 2009/5/15 13:57
Gravatar
看到第5章,实在看不下去了。因为根据作者的翻译,一步一步做,根本走不下去。实在不行,看了一下英文原著,也是不这样吗?一看,不是的,是作者在翻译时,为了省事,很多步骤都没有写。。,这样,别人跟着做,根本走不下去,意思基本就没有了,建意作者,重翻译一下。。

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

Left by entlibforum at 2009/5/15 17:47
Gravatar
我们基本都是安装原文进行翻译的,基本没有简化步骤。部分内容,还更加详细说明了步骤。

这里有NerdDinner 范例程序的完整代码的下载:
forum.entlib.com/Default.aspx?g=posts&t=496

你可以下载下来看看。

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

Left by .net,mvc at 2009/5/18 18:10
Gravatar
我又回来了。这几天按着译者的步骤,基本把这个工程下的mvc学明白了。以前有错误,可能是因为工程不同,引用的包不同造成的。
要是没有译者的翻译,我的英文水平,不知道要看多久。非常感谢译者的劳动,为我们节省了很多时间,这个时间,这么多人加起来是巨大的!也把外文的先进思想和技术,带入我们行业。
最后,非常感谢作者的贡献!

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

Left by Nick at 2009/5/21 17:10
Gravatar
为什么我新建的mvc项目的Test Unit老是提示引用错误的啊?

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

Left by entlibforum at 2009/5/21 21:02
Gravatar
Nick,

你可以尝试不建立Test Unit 项目试试看。

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

Left by kobe at 2009/5/31 2:07
Gravatar
good

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

Left by 建意 at 2009/6/10 18:01
Gravatar
建意把所有文章放到一页,不要分29页,找起来很麻烦

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

Left by 建意 at 2009/6/10 22:46
Gravatar
建意把这29页,做在一个页面,否则,想要找点东西,上页下页的翻,太麻烦

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

Left by wys at 2009/6/30 21:55
Gravatar
请问下。安装2008的时候sp1补丁包不安装可以吗,安装后有什么作用?2005和2008的sp1包是不是一样的?

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

Left by entlib at 2009/7/1 9:10
Gravatar
wys,

是否需要安装 2008 SP1,要看你是否使用SP1 的一些新功能,如ADO.NET entity framework 等等。

2005和2008的sp1包 当然不一样了!!!

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

Left by jl at 2009/7/3 15:55
Gravatar
有没有源码啊???
提供一下呗

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

Left by entlib at 2009/7/4 1:01
Gravatar
源码可以到 http://forum.entlib.com 下载。

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

Left by sajhsa at 2009/8/1 1:22
Gravatar
根本找不到下载的源代友链接嘛 ,-_-

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

Left by Entlib.com at 2009/8/1 3:25
Gravatar
源代码在这里呀 ~~~

forum.entlib.com/Default.aspx?g=posts&t=496

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

Left by sajhsa at 2009/8/1 12:32
Gravatar
看到啦,非常感谢,昨天找拉n久都 没有找到,什么时候能发发jquery和mvc聚合的就好啦

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

Left by xfzkj at 2009/11/10 21:38
Gravatar
生成NerdDinner 1.0项目时,(VS2010下面)出现以下错误,什么原因?
Server Error in '/NerdDinner 1.0' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error:

Line 47: ASP.NET to identify an incoming user.
Line 48: -->
Line 49: <authentication mode="Forms">
Line 50: <forms loginUrl="~/Account/Logon" />
Line 51: </authentication>


Source File: D:\NerdDinner\NerdDinner 1.0\NerdDinner 1.0\nerddinner\web.config Line: 49

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

Left by entlib.com at 2009/11/11 8:40
Gravatar
还没有用过 VS 2010,不了解具体是什么原因。

看异常信息 --- 说是创建的虚拟目录,没有在 IIS 中配置为application。

你可以尝试手动配置一下看看。如果不行,建议你查查 VS 2010 的相关技术交流论坛。

您的评论:



 (不显示)


 
 
 
Please add 6 and 8 and type the answer here:
    
 

评论预览窗口:

 
«九月»
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789