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

 更新时间:2020年06月17日 08:47:05   投稿:lijiao  
这篇文章主要介绍了解决ASP.NET MVC 重命名(命名空间)而导致错误的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

使用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的分页控件

    本文主要对AspNetPager.dll这个分页控件进行介绍,它主要用于asp.net webform网站。文章结尾附上实例下载,有需要的朋友可以看下
    2016-12-12
  • 详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)

    详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)

    本篇文章主要是介绍了一款开源免费的.NET文档操作组件DocX,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • asp.net中Response.Redirect与Server.Transfer的区别分析

    asp.net中Response.Redirect与Server.Transfer的区别分析

    一般来说如果需要在两个页面间共享数据,而且数据量比较大的时候,用transfer会比较合适,在第二个页面中可以直接使用前一页面的数据。
    2010-10-10
  • asp.net 页面逐步呈现的方法总结

    asp.net 页面逐步呈现的方法总结

    分块编码 ( chunked encoding )就是让 response 分块编码进行传输。response 分块编码,可以先传输一部分不需要处理的 html 代码到客户端,等其他耗时代码执行完毕后再传输另外的 html 代码。
    2010-06-06
  • .NET Core对象池的应用:扩展篇

    .NET Core对象池的应用:扩展篇

    本文主要讲解.NET Core对象池的池化集合、池化StringBuilder、ArrayPool<T>以及MemoryPool<T>,需要了解的小伙伴可以多学习这篇文章,相信可以帮助到你
    2021-09-09
  • asp.net反射简单应用实例

    asp.net反射简单应用实例

    这篇文章主要介绍了asp.net反射简单应用,结合完整实例形式分析了asp.net反射的原理与简单使用方法,需要的朋友可以参考下
    2017-02-02
  • asp.net判断字符串是否是中文的方法

    asp.net判断字符串是否是中文的方法

    asp.net判断字符串是否是中文的方法,需要的朋友可以参考一下
    2013-03-03
  • 详解EFCore中的导航属性

    详解EFCore中的导航属性

    这篇文章主要介绍了详解EFCore中的导航属性的相关资料,帮助大家更好的理解和学习使用ASP.NET CORE,感兴趣的朋友可以了解下
    2021-03-03
  • ASP.NET Core设置Ocelot网关限流

    ASP.NET Core设置Ocelot网关限流

    这篇文章介绍了ASP.NET Core设置Ocelot网关限流的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • uni-app结合.NET 7实现微信小程序订阅消息推送

    uni-app结合.NET 7实现微信小程序订阅消息推送

    本文主要介绍了uni-app结合.NET 7实现微信小程序订阅消息推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02

最新评论