ASP.NET MVC命名空间时引起错误的解决方法

所属分类: 网络编程 / ASP.NET 阅读数: 852
收藏 0 赞 0 分享

使用VS2012新建了一个Asp.net mvc5的项目,并把项目的命名空间名称更改了(Src更改为UXXXXX),然后就导致了以下错误

刚开始以后是项目的属性中的命名空间没有更改过来的问题,但我在重命名时更改的是全局的名称,而且所有文件的命名空间都已经更改过来了

稍候思考了一下并在解决方案里搜索了"Src"除了页面中引用的js脚本外还发现Views/web.config文件中包含"Src"

Asp.net MVC自动生成的代码如下,可以看到自动生成的代码将Views/web.config里引入的命名空间合并到了View页面代码中个人猜想这样做的原因是在views/web.config里设置的命名空间,就可以在View模板中直接使用配置文件中设置的命名空间下的类型

做了个试验(确保Views/web.config里没有引用System.Text命名空间):

将View中的的内容全部清空(包含_ViewStart.html和_Layout.cshtml等)

将views/Login.schtml内容清空并写入以下内容,然后重新生成并在浏览器里查看,就会出现以下错误(原因是StringBuilder没有引用命名空间System.Text)

解决办法有两种

在Views/web.config中导入System.Text(你需要的命名空间)在视图模板中使用完整的类型名(System.Text.StringBuilder)来使用StringBuilder

@{
 DateTime d= DateTime.Now;
 //必须在Views/web.config 配置文件中设置引用System.Text命名空间否则将报错
 // <system.web.webPages.razor>
 // <pages pageBaseType="System.Web.Mvc.WebViewPage">
 // <namespaces>
 //  <!--在全局视图模板中引用命名空间,在模板就可以直接使用该空间下的类型-->
 //  <add namespace="System.Text" />
 // </namespaces>
 // </pages>
 // </system.web.webPages.razor>
 //在配置文件中引用命名空间后,视图模板中没有自动完成功能, VS在编译时也不会检查该类型是否存在
 //如果类型不存在或输入错误,只有在运行时才会报错,
 StringBuilder sb = new StringBuilder();
 
 //在视图模板中直接使用完整的类型,不需要在配置文件中设置
 //VS虽然有自动完成功能,但同样在编译时也不会对类型时行检查
 //同样只有在运行时才会报错
 System.Text.StringBuilder sb = new System.Text.StringBuilder();
 sb.Append("1,");
 sb.Append("2,");
 
 }
@d<br />
@sb.ToString()

以上就是为大家提供的解决ASP.NET MVC 重命名(命名空间)而导致错误的方法,希望对大家的学习有所帮助。

更多精彩内容其他人还在看

ASP.NET 水晶报表打印功能实现代码

ASP.NET下的水晶报表打印,据我所知有以下几种办法可以打印
收藏 0 赞 0 分享

ASP.Net 图片存入数据库的实现代码

在很多时候,我们有这样的需求:把图片存入到数据库当中。在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在文件系统中。
收藏 0 赞 0 分享

让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)

Microsoft Expression Blend 2 制作动画个人感觉倒像3DMAX 可以自动捕捉关键帧
收藏 0 赞 0 分享

asp.net Reporting Service在Web Application中的应用

由于我们这个项目中使用微软的报表服务(Reporting Services)作为报表输出工具,本人也对它进行一点点研究,虽没有入木三分,但这点知识至少可以在大部分Reporting Service的场景中应用。
收藏 0 赞 0 分享

C# 文件上传 默认最大为4M的解决方法

.net中默只能上传小于4m的文件,大于4M将无法显示页面.那么如何设置来使imputfile能上传更大的文件呢
收藏 0 赞 0 分享

asp.net 购物车实现详细代码

asp.net 购物车实现详细代码
收藏 0 赞 0 分享

asp.net repeater实现批量删除时注册多选框id到客户端

repeater批量删除时注册多选框id到客户端的实现代码
收藏 0 赞 0 分享

asp.net aspnetpager分页统计时与实际不符的解决办法

最近分页方面根据实际需要修改了一些函数
收藏 0 赞 0 分享

iis 服务器应用程序不可用的解决方法

访问页面时提示 服务器应用程序不可用,大家可以按照下面的方法重新注册下,应该能好点
收藏 0 赞 0 分享

asp.net button 绑定多个参数

asp.net button 绑定多个参数的代码
收藏 0 赞 0 分享
查看更多