2011-08-14 12 views
17

私の問題はこの問題と非常に似ていますが、サブエリア(右クリック、エリア作成)以外は名前 'ViewBag'は現在のコンテキストに存在しません - 「エリア」にある場合

The name 'ViewBag' does not exist in the current context

アップグレードツールを実行しましたが、その領域のweb.configが検出されましたが、まだエラーが表示されます。

<!DOCTYPE html> 

<html> 
<head> 
    <title>@ViewBag.Title</title> 
</head> 
<body> 
    <div> 
     @RenderBody() 
    </div> 
</body> 
</html> 

そして、私のコンテンツページは、上部付近に次のようになります:私のレイアウトページは非常に簡単です

@model IEnumerable<ProjectName.Models.OrderViewModel> 

@{ 
    ViewBag.Title = "Index"; 
    Layout = "~/Areas/Admin/_AdminLayoutPage.cshtml"; 
} 

<h2>Index</h2> 
+0

そうViewDataは、アクセスできますか? –

+0

これに関する進歩?私は同じ問題に遭遇している。 – kmehta

答えて

11

私はエリア内のweb.config働いてきました。エリアのあなたのビューのフォルダ内のweb.configファイルは、あなたがMVCアプリケーションを作成するとき、あなたは2つのWeb.Configファイルを取得することを認識しておく必要があり

<configSections> 
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
</sectionGroup> 
</configSections> 

<system.web.webPages.razor> 
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
<pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
    <add namespace="System.Web.Mvc" /> 
    <add namespace="System.Web.Mvc.Ajax" /> 
    <add namespace="System.Web.Mvc.Html" /> 
    <add namespace="System.Web.Routing" /> 
    </namespaces> 
</pages> 
</system.web.webPages.razor> 
+0

"host"公開鍵トークンはどこから得られますか? –

+1

@MichalPaszkiewicz VSが私のためにそれを生成しました。 PKTについては、http://stackoverflow.com/a/1322775/749973 –

+0

awesome、thanks :) –

18

を次のようにsの部分を持っているかどうかを確認します。 1つはプロジェクトのルートにあり、もう1つはViewsフォルダの下にあります。私は同じ問題を抱えていました。何らかの理由で私が自分のプロジェクトに取り組んでいたとき、私は誤ってViewsの下のものを修正しました。それをクリーニングすると(Viewsフォルダの下にある)、そのエラーが修正されました。それが役に立てば幸い。

enter image description here

+1

ありがとう@mpora、それを掃除してエラーを修正しました。 –

+0

Web.configがソリューションファイルに含まれていませんでした。だから私のマシンでうまく動いていましたが、私の生成したパブリッシュでは動かなかったのです。固定されたソリューションを含む。 – talles

3

あなたの「ビュー」ディレクトリにあるweb.configファイルをそのディレクトリのルートに配置されていることを確認してください。私は誤って "共有"ディレクトリに移動し、私はこれを考え出すまでしばらくの間、私の髪を落としました...

関連する問題