2010-12-11 63 views
25

我剛更新到ASP.NET MVC 3 RC2。升級到MVC 3:CS0103:當前上下文中不存在名稱'查看'

樣本應用程序,我現在很努力產生以下錯誤,每當CSHTML視圖顯示:

CS0103:「觀」的名字沒有出現在目前情況下

它未能對存在line:

@{ 
    View.Title = "MyView"; 
} 

...並且在其他任何遇到的問題上都失敗在Razor文件的代碼中查看。

我已將web.config從新的應用程序視圖文件夾複製到我的示例應用程序,但問題仍然存在。

一個全新的應用程序運行沒有問題。

我也重建瞭解決方案,運行Clean Solution。沒有快樂。

我還沒有在樣品上工作了幾天。所以這可能與RC2無關......

+0

已檢查參考文獻,它們似乎是相同的文件版本。 EG:System.Web.Mvc文件版本:3.11209.0,適用於使用RC1開發的示例應用程序和使用RC2創建的新應用程序 – awrigley 2010-12-11 13:46:10

回答

27

它已被重命名爲'ViewBag'。你可以閱讀更多有關RC1的變化 - > RC2 here

+0

謝謝,我忽略了Scott Guthrie博客文章的那一點。不知道爲什麼你覺得這很奇怪 - 在視圖中顯示邏輯是很好的。大量的樣本使用它。我認爲ViewBag是一個可怕的名字,但它比純粹的View更具描述性。 – awrigley 2010-12-11 15:59:32

+0

@awrigley確定在視圖中使用顯示邏輯很好,但ViewBag旨在成爲控制器中通常在視圖中使用的屬性集合...我相信您有一個有效的用法的情況下,但我想知道爲什麼你想要在視圖內的ViewBag中設置數據,我只希望從它讀''。 – jeroenh 2010-12-11 18:23:05

+2

當然,但MVC3示例使用該代碼... – awrigley 2010-12-20 22:11:43

4

我有同樣的問題,但我只是試圖猜測現在幹什麼用的,我最終使用:

@Page.Title = "The title" 

和它的工作,雖然我不知道什麼是「最佳實踐」現在

另外,我認爲ViewBag是曾經被認爲是視圖模型,而不僅僅是查看

0

我的情況下,任何人添加此否則遇到它。另一個可能的原因是您的佈局未找到。我部署到IIS和(在評論出有問題的行後)發現佈局在Web部署期間未被複制。就我而言,這是因爲佈局的構建操作已經從內容更改爲無。

編輯:實際上,我安裝了MVC 3 RC。以上只是一個不同的症狀。部署機器具有暴露問題的RTM。正如awrigley所說,現在叫做ViewBag。

+0

感謝,但在我的情況下,該問題的屬性重命名爲ViewBag。 – awrigley 2011-02-22 21:48:05

相關問題