ASP.NET MVC Framework 系列

序言

做为设计模式的王者,MVC在众多领域都成为良好的模型的代名词,从前在ASP.NET下我们只能依靠Monorail来实现ASP.NET下无控件的MVC,但是现在ASP.NET 下的MVC已经成为现实。
本文只想让大家更直观地认知ASP.NET MVC,如果语言有所不当,还望大家海涵。当然,如果文中有所纰漏还希望大家及时指出,我也好做及时的修改。
在下本着对初学者负责的态度来书写本系列中的各篇文章,但期间的恒心与毅力相信过来的人更加明白,所以如果书写有误希望大家谅解。

ASP.NET MVC 正式版相关信息

ASP.NET MVC曾经是ASP.NET 3.5 Extensions Preview 的一个部分.如今历经五个Preview一个Beta两个RC版本终于走向我们。

最新版本:ASP.NET MVC正式版1.0

  1. 安装包: ASP.NET MVC RTM release
  2. 源代码及特性程序集:ASP.NET MVC v1.0 Source
  3. 文档:ASP.NET MVC MSDN 文档
  4. 博客园专题:ASP.NET MVC专题

文章编写约定

  1. 本文的前提环境为.NET 3.5,但笔者会尽力写在.NET2.0 SP1下兼容的程序
  2. 文本中所使用的IDE都为Visual Studio 2008(中文) 语言基本为C#不过为了方便大家理解 ,也可能会有一些Visual Basic
  3. 笔者计算机操作系统为Windows 2003 std/Windows Vista/Windows 7
  4. 其它约定笔者将会后续补充

交互与问答

视频:ASP.NET MVC 入门视频教程

QA:ASP.NET MVC问题索引

ASP.NET MVC 系列文章

 

以下文章属于ASP.NET MVC 1.0 正式版

以下文章属于ASP.NET MVC 1.0 RC

以下文章属于ASP.NET MVC 1.0 Beta

以下文章属于Asp.net Mvc CodePlex Preview 5


以下文章属于Asp.net Mvc CodePlex Preview 4

以下文章是属于Asp.net MVC preview 3

以下文章是属于Asp.net MVC preview 2

我的一些ASP.NET MVC的开源项目

  1. ASP.NET MVC File Management(文件管理)
  2. CHMVCMS(内容管理系统)
  3. CHOJ#(在线编译评判)
  4. ASP.NET MVC Ajax(Ajax操作)
  5. CHSNS#(SNS开源项目)
  6. Infancy (A Forum Application)(ASP.NET MVC论坛)
  7. WebAsk(类似百度知道的问答系统)

相关站点

posted @ 2008-03-10 21:32 重典 阅读(92228) 评论(52) 编辑 收藏

 回复 引用 查看   
#1楼2008-03-22 23:52 | ddr888      
先mark
 回复 引用 查看   
#2楼2008-05-28 15:32 | McJeremy&Fan      
请问一下,
ASP.NET MVC Preview2或Preview3
安装完成后,如何在VS2005下创建MVC应用程序呢?
相比较于Monorail和ASP.NET MVC
两者相比较哪个更优一些?

 回复 引用 查看   
#3楼[楼主]2008-05-28 16:38 | 重典      
@McJeremy&Fan
用VS2005还无法编辑,您可以下个SharpDeveloper3.0来替代搞下

现在来说我感觉还是Monorail成熟一些,不过估计在.net 3.5 sp1中ASP.NET mvc会超过MONORAIL

 回复 引用 查看   
#4楼2008-06-03 15:11 | 52Qin      
表单提交之后,
会根据表单内的字段名字
自动赋值到实体类的属性上

记得MonoRail是有的.

 回复 引用 查看   
#5楼2008-06-18 20:34 | 暗香浮动      
mark
 回复 引用 查看   
#6楼2008-09-29 17:20 | 逸之羊      
高手都擅于总结成系列的吗?
 回复 引用 查看   
#7楼2009-01-05 15:16 | taylorsf咸鱼      
我也mark
 回复 引用 查看   
#8楼2009-01-06 04:12 | 李宏      
MARK TOO 打算搞一个自己的框架 先研究下MICROSOFT的框架先
 回复 引用 查看   
#9楼2009-01-12 11:18 | 房子小轩      
楼主:
  我安装的是AspNetMVCBeta 不是AspNetMVCPreview5
  没有Html.SubmitButton这个方法
  如果显示这个怎么做!直接HTML?还是有了新的方法?
  

 回复 引用 查看   
#10楼2009-01-12 11:18 | 房子小轩      
楼主:
  我安装的是AspNet MVC Beta 不是AspNet MVC Preview5
  没有Html.SubmitButton这个方法
  如果显示这个怎么做!直接HTML?还是有了新的方法?
  谢谢先!

 回复 引用 查看   
#11楼[楼主]2009-01-12 11:27 | 重典      
@房子小轩
此方法移到新特性程序集中
下载这个
http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=18459
并using Microsoft.Web.Mvc;

 回复 引用 查看   
#12楼2009-01-12 16:29 | 房子小轩      
@重典
  谢了
  并且再次感谢你的视频!

 回复 引用   
#13楼2009-03-05 16:58 | Denni
@重典:
  我有一个user这个页面,在这个页面即要实现创建又要编辑,通过传参,如果有参数ID则为编辑。
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult user()
{
return View();
}
这样实现了创建,请问编辑我要怎么写?谢谢

 回复 引用 查看   
#14楼[楼主]2009-03-05 21:47 | 重典      
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult user(long? id)
{
if(id.HasValue){
读值,并设置ViewData
}
return View();
}
2.
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult user(long? id ,User user)
{
if(id.HasValue){
修改
}else{

新建
}
return View();
} @Denni

 回复 引用 查看   
#15楼2009-03-10 15:44 | stg609      
向楼主学习!
 回复 引用 查看   
#16楼[楼主]2009-03-11 13:57 | 重典      

 回复 引用 查看   
#17楼2009-04-25 10:51 | virus      
调用action返回json数据,却出现文件下载对话框的问题解决
 回复 引用 查看   
#18楼[楼主]2009-04-25 10:53 | 重典      
@virus
Json本身就是文件,IE中会被下载,FF中应该会直接打开

 回复 引用 查看   
#19楼2009-04-26 19:30 | 李晓强      
您好,重典,我在使用AJAX的过程中有个问题请教您,我使用HTML form来提交数据到一个Action,在Action中进行处理后会返回一个Json字符串,请问,我如何能够用JS获取这个字符串并在页面中处理呢.跟您在18楼的回答类似.
 回复 引用 查看   
#20楼2009-04-26 19:31 | 李晓强      
您好,重典,我在使用AJAX的过程中有个问题请教您,我使用HTML form来提交数据到一个Action,在Action中进行处理后会返回一个Json字符串,请问,我如何能够用JS获取这个字符串并在页面中处理呢.跟您在18楼的回答类似.

 回复 引用 查看   
#21楼[楼主]2009-04-26 19:50 | 重典      
我假设非ASP.NET MVC部分你没有问题,则
设Json生成的Action为C1Controller.A1()
Routing规则指明URL:C1/A1可以访问C1Controller.A1()



Jquery下
$.get('<%=Url.Action("A1","C1")%>',{key:value,key2,:value2},funcion(result){
alert(result);//这个应该就是你想要的
});

 回复 引用 查看   
#22楼2009-04-27 10:29 | 李晓强      
@重典
非常感谢,我已经通过Ajax.BeginForm达到了我所需要的效果--可能我的表述不清楚,其实就是无刷新表单提交,然后获取返回结果并处理.
$.get用的HttpMethod是get而不是post我希望的是post,而且是针对form的.$.get的话我就需要写个form的序列化器才能把表单的数据转化成{key:value,key2,:value2}的形式.
不过还是非常感谢和敬重重典的,感谢您的系列文章,看过不少,受益匪浅.

 回复 引用 查看   
#23楼2009-04-29 18:27 | 温景良(Jason)      
太谢谢了
 回复 引用 查看   
#24楼2009-06-08 17:28 | Asidy      
写的不错!打算好好的看看
 回复 引用 查看   
#25楼2009-12-18 18:30 | 戴超      
欢迎各位加入ASP.NET MVC框架超级群!让我们共同学习、进步!ASP.NET MVC一群:40985466人员已满!请其他有兴趣的朋友加ASP.NET MVC二群:14426077(同样可容纳500人的超级群!) 另群:49544745已作为PHP群使用!请慎重加入!欢迎大家的加入!
非常乐意为大家提供一个良好的交流平台!

 回复 引用 查看   
#26楼2009-12-18 23:03 | 李晓强      
引用戴超:@@@欢迎各位加入ASP.NET MVC框架超级群!让我们共同学习、进步!QQ群号:40985466 非常乐意为大家提供一个良好的交流平台...

河南人民发来贺电.
希望不要变成炒股群,或者水库...

 回复 引用 查看   
#27楼2009-12-21 07:56 | 深山老林      
光是看了文章目录,我就已经晕倒了。
 回复 引用 查看   
#28楼[楼主]2009-12-21 13:00 | 重典      
@深山老林
有何晕倒?

 回复 引用 查看   
#29楼2009-12-21 15:05 | 风从指尖飘过      
太谢谢你了,才开始接触MVC,看了你的视频,在看你的讲解。从开始的明白一点点,到现在还是只明白一点点。呵呵,现在回过头在看你的视频和博客,又有许多新的收获。
 回复 引用 查看   
#30楼2009-12-22 09:10 | 深山老林      
@重典
恐怕msdn都没这么详细吧。

 回复 引用 查看   
#31楼2009-12-24 17:17 | onekey      
刚发现邹老大在这里开博了
 回复 引用 查看   
#32楼2010-02-25 20:48 | 518      
谢谢了,正好想学这方面的东西。
 回复 引用 查看   
#33楼2010-03-24 16:08 | dbens      
重典兄,在项目中有这种需求,按类别分页。
比如产品有N个类别,在分页时需要把类别ID和页数传递回server,又想使url看起来优雅。
http:www.xxx.com/Product/Category/5/Page/3
像这样的url MVC 中如何实现?routing规则我看是 Controller/Action/ID。
或者有其他实现这种需求的方法给我介绍下。

 回复 引用 查看   
#34楼2010-04-02 15:39 | Alifellod      
非常感谢
 回复 引用 查看   
#35楼2010-04-17 10:32 | clound      
重典兄是个牛人,感谢了。
 回复 引用 查看   
#36楼[楼主]2010-04-17 12:33 | 重典      
@clound
@Alifellod

THX

 回复 引用 查看   
#37楼2010-05-21 21:23 | 黄康毅      
虽难说基本内容都有,但是不详细,太不详细了,只是介绍了皮毛,这样对于初学者来说就是个难题,哎 ,可惜,可惜
 回复 引用 查看   
#38楼2010-06-05 00:12 | 丘比特      
第九集
我创建的MVC程序的views/里面 的aspx文件都没有 类文件啊。为什么呢。。
我装的是mvc1.0版本的

要给return view(user) 来着


 回复 引用 查看   
#39楼2010-06-05 00:29 | 丘比特      
搞定啦
在头部的<%@ 后面加就是了嘿嘿

 回复 引用 查看   
#40楼2010-07-28 11:46 | Rwatermoon      
重点老师,看了不少您的文章,受益匪浅,我自己自己遇到这样一个问题,在页面里添加一个用户控件的时候,出现这个异常“Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.”
Controller里的代码是:
var resources = ResourceStatistic.All().OrderByDescending(b => b.BorwseCount);
var resourceslist = resources.Take(10);
return PartialView(resourceslist);

View里的: <%Html.RenderAction("HotResources", "Resources"); %>
不知道是哪里出错了呢

 回复 引用 查看   
#41楼2010-10-29 11:10 | skyaspnet      
请教个问题,,MVC3的运行时有什么要求?.NET FRAMEWORK4?
 回复 引用 查看   
#42楼2010-10-29 11:10 | skyaspnet      
谢谢!
 回复 引用 查看   
#43楼[楼主]2010-10-29 13:13 | 重典      
@skyaspnet
是的,.net framework 4.0

 回复 引用 查看   
#44楼2010-12-01 23:13 | 木乃伊      
这个MVC系列比较全,支持个。
 回复 引用 查看   
#45楼2010-12-21 15:59 | Staid      
MVC宿主环境,需要什么?哪里有说明
 回复 引用 查看   
#46楼2010-12-21 16:00 | Staid      
借楼主一块宝地:MVC群:51185311
 回复 引用 查看   
#47楼[楼主]2010-12-21 16:38 | 重典      
@Staid
IIS、.NET Framework即可,无需其它

 回复 引用 查看   
#48楼2011-08-23 14:26 | 樊勇      
高手的文章都是系列的!!
 回复 引用 查看   
#49楼2011-08-25 15:18 | 刘凯文      
刚看了你在优酷上发的MVC视频,通俗易懂,呵呵,真有点想拜大哥的冲动
 回复 引用 查看   
#50楼2011-10-13 18:16 | BigMouth      
为什么发布到IIS上会有问题呢
 回复 引用 查看   
#51楼[楼主]2011-11-23 23:44 | 重典      
aaaa
 回复 引用 查看   
#52楼2011-12-19 16:07 | 斗城路人      
.NET(C#)/(MVC)职业交流2群180456566,欢迎加入~~