<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

Asp.net Mvc 未能加载类型“System.Web.Mvc.ViewPage 的解決方法  

2010-11-30 17:31:51|  分类: .net mvc |举报 |字号 订阅

 

如果多个项目同时存在Areas中 每个子项目的views里都要有个Web.Config文件配置如下

分析器错误

说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 

分析器错误消息: 未能加载类型“System.Web.Mvc.ViewPage<dynamic>”。

源错误: 

行 1:  <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> 行 2:  
行 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


源文件: /basisplatform/views/home/login.aspx    行: 


版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.1 

解决办法是在web.config 的节点pages 中加入一段
validateRequest="false"
         pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
         pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
         userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"

例如:

XML/HTML 代码
  • <pages  
  •        validateRequest="false"  
  •          pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, 
  • PublicKeyToken=31BF3856AD364E35"  
  •          pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"  
  •          userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, 
  • PublicKeyToken=31BF3856AD364E35"  
  •  >  
  •       <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>  
 
 
***********************************************目前用的
 
<?xml version="1.0"?>
 
<configuration>
    <system.web>
        <httpHandlers>
            <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
        </httpHandlers>
 
        <!--
        Enabling request validation in view pages would cause validation to occur
        after the input has already been processed by the controller. By default
        MVC performs request validation before a controller processes the input.
        To change this behavior apply the ValidateInputAttribute to a
        controller or action.
    -->
 
        <pages
            validateRequest="false"
            pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
            pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
            userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <controls>
                <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
            </controls>
        </pages>
 
 
    </system.web>
 
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
 
        <handlers>
            <remove name="BlockViewHandler"/>
            <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
        </handlers>
    </system.webServer>
 
</configuration>
 

posted on 2014-01-22 10:41  罗曼飞羽  阅读(2887)  评论(0编辑  收藏  举报

导航