2012-05-03 10 views
2

Webページアプリケーションではありません - 私はVisualStudio 2010を使用しました。これはマルチプロジェクトソリューションです。にはweb.configを設定して、ASP.Net 4の通常のWebアプリケーションでRazorを利用できるようにする方法がありますか?

Webアプリケーションは.Net 4.0になっていますが、200以上のaspxファイルが含まれていますが、今日はいくつかのRazorリファレンスを追加して動作可能かどうかを確認しようとしていました。可能でしょうか?

私が作ったweb.configファイルですが、このタイプのページは提供されていません。エラー。可能であれば、誰にでも私に手を差し伸べることができますか?

はここにあなたが本当にあなたの現在のWebフォームアプリケーションには何も変更する必要はありません、私の変更のweb.config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 
    <connectionStrings> 
    </connectionStrings> 
    <appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    </appSettings> 
    <system.web.webPages.razor> 
    <host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.WebPages.WebPage"> 
     <namespaces> 
     <add namespace="System.Web.WebPages" /> 
     <add namespace="System.Web.WebPages.Html" /> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Routing" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 
    <system.web> 
    <httpRuntime requestValidationMode="2.0" maxRequestLength="1048576000" executionTimeout="99999" /> 
    <customErrors mode="Off" /> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     </assemblies> 
    </compilation> 
    <pages validateRequest="false"> 
     <namespaces> 
     <add namespace="System.Web.WebPages" /> 
     <add namespace="System.Web.WebPages.Html" /> 
     <add namespace="System.Web.Helpers" /> 
     <add namespace="System.Web.Routing" /> 
     </namespaces> 
    </pages> 
    <httpHandlers> 
     <add path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" /> 
    </httpHandlers> 
    </system.web> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <add name="PBHttpModule" type="WebCider.PortalBuilder.Framework.Web.Http.PBHttpModule, WebCider.PortalBuilder.Framework.Web" /> 
    </modules> 
    <directoryBrowse enabled="true" /> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="1048576000" /> 
     <fileExtensions> 
      <add fileExtension=".cshtml" allowed="true" /> 
     </fileExtensions> 
     </requestFiltering> 
    </security> 
    <handlers> 
    </handlers> 
    </system.webServer> 
    <runtime> 
    </runtime> 
</configuration> 
+0

これは役立ちます:http://stackoverflow.com/questions/5900066/what-exactly-needs-done-to-iis-6-to-serve-cshtml-pages – Dave

答えて

0

です。

@DateTime.Now 

、その後、単に http://example.com/Foo.cshtmlに移動します。あなたは、単に、例えば、以下の内容でルートに ~/Foo.cshtmlカミソリファイルを追加することによって開始することができます。 Webフォームアプリケーションには、 System.Web.WebPages.WebPageインスタンスをレンダリングするビュー結果を返すコントローラがないため、web.configに追加したセクションは使用できません。明らかに、これらのRazorテンプレートの内部でHTMLヘルパーを使用することはできません。あなたがWebMatrixに入ると、それは単純なRazorです。

関連する問題