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。
今天只写三个 以后再写。

浙公网安备 33010602011771号