The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

初试asp.net mvc感受

Posted on 2010-08-12 17:12  Cure  阅读(1557)  评论(0编辑  收藏  举报

N久都没有关注技术上的东西了,blog也荒了很久,这两天倒腾了下asp.net mvc,说说感受。

asp.net mvc也不是什么新东西了,因为自己不做技术一段时间了,最近想给今后自己的发展定个方向,最终还是选择了.net,

于是就装了虚拟机,windows2003 + VS2008,然后一看,还需要Ado.net entity framework,于是又下载了个vs2008 sp1这里不得不鄙视下微软,

我不就是想要个Ado.net entity framework嘛,还要我下载800多M的vs2008 sp1 ,好不容易下载完了,安装上,又下载了asp.net mvc 2 RC2 for vs2008,

安装完。

 

本以为OK了,结果打开VS2008,新建项目里找不到mvc的模板,上网查了查,原来是因为VS2008是中文的,asp.net mvc 2是英文的,于是到:

C:\program files\microsoft visual studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 2目录下,把1033目录里的文件全部拷贝到2052目录下,

然后把1033目录删除掉。

接下来: 

C:\program files\microsoft visual studio 9.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\MVC 2 

C:\program files\microsoft visual studio 9.0\Common7\IDE\ProjectTemplates\CSharp\Web\

C:\program files\microsoft visual studio 9.0\Common7\IDE\ProjectTemplatesCache\CSharp\Web\ 

把这三个目录下的1033目录里的文件拷贝到2052目录下,

在VS2008的命令行里运行命令:devenv.exe /setup 

 重启VS2008,发现新建项目里MVC的模板了,OK,新建一个例子工程,发现里面Controller,View,Model都有了,然后就按照网上的例子创建Controller,结果出现异常:"Unable to find a matching template for this operation." 

google了一大圈也没发现解决办法,asp.net mvc重装了都不行,网上关于这个问题的搜索结果更是少之又少。

 没办法,自己试吧,中间过程省去一千字。。。。。。。。。。。。。。。。。。。。。。。。。。。。

最后想,肯定是找不到codetemplate里面的Add Controller目录里的Controller.tt文件,于是 把:

C:\program files\microsoft visual studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 2 \2052\CodeTemplates目录拷贝到 

C:\program files\microsoft visual studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 2 \目录下 ,ItemTemplatesCache目录也做同样的操作。

终于OK了,泪奔啊。。。。。。。。。。。。。

 

接下来照着例子做了一遍,学生信息添删查改。

感觉asp.net mvc还是在模仿Rails,从目录结构的设置,命名上,使用了模板来生成controller和View的代码,但是没有Rails那么全面,设置一个model,全部都生成好,asp.net mvc还只能一个一个的生成。

 

同时,asp.net mvc 的代码生成是单向的,例如,我生成好了一个Controller,现在我要是再添加一个同名Controller,就必须把前面的那个删除掉,而不能覆盖。

这也就意味着,我第一次生成一个Controller以后,就无法再使用代码生成对其中的内容操作,只能完全手写,这样,代码生成对生产率的提高就很有限了。

 

后面还会继续尝试,权限,页面输入的判断,等等,目前的感觉是在正式的项目中应用还是要很谨慎的。毕竟以前的WebForm模式已经用了这么多年了,大家也都熟悉了,成熟的方案也比较多了。

 

先写这么多,很久不写blog,现在写就很随意了,到哪儿算哪儿吧。