雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

ASP.NET MVC命名空間時引起錯誤的解決方法

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

使用VS2012新建了一個Asp.net mvc5的項目,并把項目的命名空間名稱更改了(Src更改為UXXXXX),然后就導致了以下錯誤

剛開始以后是項目的屬性中的命名空間沒有更改過來的問題,但我在重命名時更改的是全局的名稱,而且所有文件的命名空間都已經(jīng)更改過來了


稍候思考了一下并在解決方案里搜索了"Src"除了頁面中引用的js腳本外還發(fā)現(xiàn)Views/web.config文件中包含"Src"

Asp.net MVC自動生成的代碼如下,可以看到自動生成的代碼將Views/web.config里引入的命名空間合并到了View頁面代碼中個人猜想這樣做的原因是在views/web.config里設(shè)置的命名空間,就可以在View模板中直接使用配置文件中設(shè)置的命名空間下的類型


做了個試驗(確保Views/web.config里沒有引用System.Text命名空間):

將View中的的內(nèi)容全部清空(包含_ViewStart.html和_Layout.cshtml等)

將views/Login.schtml內(nèi)容清空并寫入以下內(nèi)容,然后重新生成并在瀏覽器里查看,就會出現(xiàn)以下錯誤(原因是StringBuilder沒有引用命名空間System.Text)

解決辦法有兩種

在Views/web.config中導入System.Text(你需要的命名空間)在視圖模板中使用完整的類型名(System.Text.StringBuilder)來使用StringBuilder

@{
 DateTime d= DateTime.Now;
 //必須在Views/web.config 配置文件中設(shè)置引用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();
 
 //在視圖模板中直接使用完整的類型,不需要在配置文件中設(shè)置
 //VS雖然有自動完成功能,但同樣在編譯時也不會對類型時行檢查
 //同樣只有在運行時才會報錯
 System.Text.StringBuilder sb = new System.Text.StringBuilder();
 sb.Append("1,");
 sb.Append("2,");
 
 }
@d<br />
@sb.ToString()

以上就是為大家提供的解決ASP.NET MVC 重命名(命名空間)而導致錯誤的方法,希望對大家的學習有所幫助。

上一篇:C#程序員最易犯的編程錯誤

欄    目:C#教程

下一篇:C#實現(xiàn)過濾sql特殊字符的方法集合

本文標題:ASP.NET MVC命名空間時引起錯誤的解決方法

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6877.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有