ASP.NETMVC3 新手错误常见

准备学习ASP.NET MVC3 .

买了本《ASP.NET MVC3》高级编程来看。准备照着书里面的内容来做。

发现书里面的内容对于新手来说真的是有点难度。

我只好自己想个简单的项目来做下,通过项目学习应该是最快的。

中间遇到了很多小问题。收录在这里。

 

1.添加控制器时,对话框里的模板选择只有一个,没有包含读/写操作和试图的控制器(使用 EF)这个模板。

答:没有打aps.net mvc3 补丁。AspNetMVC3ToolsUpdateSetup.exe 如果想看中文还需要AspNetMVC3ToolsUpdateSetup_CHS.exe 不大下载下来装上,重启VS就可以看见了。

 

2.添加控制器时,明明在模型文件夹下面添加了数据类,但是在添加控制器对话框里,模型类那里是个红叉,选择不了。

答:添加完这些类以后,先生成或者运行下,就可以看见了。

 

3.程序运行时报“提供程序未返回 ProviderManifestToken 字符串”。

答:我在网上找了很多资料,有人说是连接字符串的原因。默认字符串如下

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf; User Instance=true" providerName="System.Data.SqlClient"/>  
</connectionStrings>

因为我装的是sql 2005 实例名叫OSE,于是连接字符串改成如下。

<connectionStrings>
<add name="WebCollectionContext "
          connectionString=" Data Source=.\OSE;Initial Catalog=WebCollectionContext;Persist Security Info=True;User ID=sa;Password=sa"  providerName="System.Data.SqlClient" />         
</connectionStrings>

对了 有人还提醒,name一定要与 你添加的Context名字一致,我把数据库名字都设置成一样的了。

但是还是不行。

网上继续找原因,甚至我用vs 拖控件生成连接字符串的方式都不行,明明都测试通了的。

结果一运行还是报错,网页上显示的是数据库没有连接上。

后来终于发现原因了。我看见我sql 2005 除了ose实例 还有个叫SQLEXPERSS的实例没有启动,我感觉是这里出了问题。原来默认的字符串的实例是对的改下数据库名就行了。实例名是对的。

后来正确的如下。

connectionString=" Data Source=.\SQLEXPRESS;Initial Catalog=WebCollectionContext;Persist Security Info=True;User ID=sa;Password=sa"  providerName="System.Data.SqlClient" />

好吧 总之是数据库启动错了。mvc3用的是EF 4.1。

 

今天只写三个 以后再写。

 

posted @ 2013-05-07 15:30  雨丸  阅读(104)  评论(0)    收藏  举报