不允许使用System Web MVC WebViewPage

时间:2017-07-21 14:30:29

标签: asp.net-mvc webview uipageviewcontroller

  

我有这个错误,但我找不到帮助它的方法

     
    

' /'中的服务器错误应用

         

配置错误

         

描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。

         

分析程序错误消息:' System.Web.Mvc.WebViewPage'这里不允许这样做,因为它没有扩展类&System; Web.UI.Page'。

         

来源错误:

  
<add name="ApplicationInsightsWebTracking" 
type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, 
Microsoft.AI.Web" />
   </httpModules>
     **<pages pageBaseType="System.Web.Mvc.WebViewPage">** 
     <namespaces>
    <add namespace="GridMvc" />

源文件:C:\ app \ web.config行:32

1 个答案:

答案 0 :(得分:0)

很明显,System.Web.Mvc.WebViewPage命名空间添加在错误的位置(如导致问题的行之前使用的httpModules所示)。添加相应命名空间的正确位置位于Views元素下system.web.webPages.razor文件夹内的web.config文件中,如下所示:

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.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" />
        <add namespace="GridMvc" />
        <!-- other namespaces -->
      </namespaces>
    </pages>
</system.web.webPages.razor>

pages下的system.web元素主要用于webforms项目配置(在System.Web.UI.Page命名空间下),通常包含2个属性(validateRequest&amp; {{1} }):

clientIDMode

要使用<pages validateRequest="true" clientIDMode="AutoID"> 属性的MVC版本,您需要检查pageBaseType中是否存在当前pages元素。在这种情况下,您在system.web.webPages.razor下错误地添加了名称空间,该名称空间不会继承system.web名称空间和&amp;抛出不允许的命名空间错误。