2011-02-03 9 views
189

は新しいMVC 3プロジェクトを開始しました。誰でも私に何を教えることができますWebページの機能は何ですか:MVC 3で有効Web.config

<add key="webpages:Enabled" value="false" /> 

私のweb.configファイルにはありますか?

ありがとうございます!

+4

http://blogs.msdn.com/b/marcinon/archive/2011/01/13/mvc-3-project-upgrade-tool.aspx – Lazarus

+0

これが設定されていると.chstmlファイルを参照しようとします。 「このタイプのページは配信されません」というエラーが表示されます。これに費やされた時間:/ http://stackoverflow.com/questions/12533605/iis-express-webmatrix-2-wont-serve-cshtml-files-in-webapi-project-vs10-winx/12535137#12535137 –

答えて

228

webPages:enabledは、Webブラウザから直接アクセスされてからViewsフォルダ内.cshtml又は.vbhtmlファイルを防止します。

+20

実際には、アプリケーションにどこに存在するかに関係なく、直接アクセスできないようにします。ビューフォルダでは、ルート内の別のフォルダに...同じエラーが発生しても問題ありません。 '要求されたページのタイプは、明示的に禁止されているため配信されていません。 ' –

+5

" BlockViewHandler "設定は何ですか?違いはなんですか? –

+0

申し訳ありませんが、MonoでNancyプロジェクトを実行していて、この設定はnugetを介して表示されました。だから私はこれがIISのものか、MVC 3のものか、スタックのどの部分が実際にこの設定を使用しているのだろうかと思います。 –

28

は、ドキュメントによれば、(例えばwww.myweb.com/views/home/index.cshtml)に直接アクセスから.cshtmlと.vbhtmlファイルを防ぐ値false

+1

I検索していますが、これが説明されている参照を見つけることができません。私が特に知りたいのは、 ''を省略した効果です。デフォルトの 'true'または' false'ですか? – StarNamer

+1

私はソースコードを掘り下げました。デフォルト値は実際には 'null'です。アプリケーションに' * .cshtml'や '* .vbhtml'ファイルが含まれていると、Webページが有効になります。この値を 'true'または' false'に設定することで、ファイルのチェックを無効にすることができます。 [こちら](https://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.WebPages.Deployment/WebPagesDeployment.cs)であなた自身を見ることができます。 –

1

Razorページの配信を許可するには、<add key="webpages:Enabled" value="true" />を設定するだけでは不十分です。また、NuGetを使用してpackages.configにMicrosoft.AspNet.WebPagesパッケージを追加する必要があります。

関連する問題