我只是在网上找了一些网页结合实际工作学了学ASP。Net MVC3 和Razor语法引擎。
感觉MVC3起步比web form 难多了,不适合初学者。
MVC 3 被微软包装太多,预定义了很多东西,一开始不知道,走了很多弯路,难以理解,刚开始调试解错很难。
MVC 3 和ASP差的很远,ASP包装非常的少,容易理解,起步容易。栽的跟头列出来:
1) 如果不用master page,一定要把master page 里的CSS和javascript以用,否则ModelError怎么也显示不出来,费了很长时间才发现是忘了引用master page里的css和javascript。
2)Action见参数的传递,因为习惯了在查询字符串里添加参数,搞了半天才发现,MVC把查询字符串包装的面目全非,把查询字符串映射到控制器里Action方法的参数,
具体是用
new RouteValueDictionary( new { OriginalAction="Index", OriginalController="Home"}) 来实现,把RouteValueDictionary的参数名-参数值对分别映射到Action方法里的参数名和参数值, 例如上面的会映射到 SomeAction(string OriginalAction, string OriginalController),然后在方法体里,OriginalAction自动得值"Index", OriginalController自动得值"Home" 3)ModelError如果转发(RedirectToAction)会丢失,改用RouteValueDictionary 实例传递 4)如果用return View(),一定要在对应的控制器文件夹里或者在共享文件夹里有一个对应Action名的cshtml文件。 5)MVC3工程文件是预编译的,刚开始没发现,测试部署后改了半天cs文件发现没用才意识到