首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载“System.Web.Mvc.ViewUserControl<SOMETYPE>”类型

无法加载“System.Web.Mvc.ViewUserControl<SOMETYPE>”类型
EN

Stack Overflow用户
提问于 2010-05-10 14:30:09
回答 4查看 10.7K关注 0票数 10

我正在尝试部署ASP.NET MVC 2项目(VS2010)以赢得服务器2008 R2

它在开发机器上工作得很好。但是,在服务器2008 R2:当.ascx文件有使用泛型类型的头部时会发生奇怪的错误:

代码语言:javascript
复制
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>" %>

服务器报告无法加载类型的

但是当我在.cs文件中的某个地方声明时,输入如下

代码语言:javascript
复制
public class AA : System.Web.Mvc.ViewUserControl<MyProj.Web.Models.RangeViewModel>
{
}

并在<%@ Control标头中使用它。然后它就能正常工作了。

我是不是遗漏了什么?

更新

我分两个步骤部署应用程序(在服务器上):

  1. 使用命令行MSBuild (对于.NET 4)从源重新构建VS解决方案
  2. 启动执行两个目标的自定义msbuild任务(为此具有publih.msbuild文件):Targets="ResolveReferences;_CopyWebApplication“
EN

回答 4

Stack Overflow用户

发布于 2010-05-10 14:46:17

我看视图引擎在继承属性中编译强类型基类时遇到了问题。我也有过同样的问题,将Web.Config的“页面”部分更新到这个部分很有帮助:

代码语言:javascript
复制
 <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <controls>
          <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
        </controls>
        <!-- rest of your pages section -->
</pages>
票数 15
EN

Stack Overflow用户

发布于 2010-05-10 14:47:50

找不到原因,但有以下帮助(web.config):

代码语言:javascript
复制
<pages
         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">

最初发现类似于asp.net mvc 1

票数 5
EN

Stack Overflow用户

发布于 2013-11-22 06:22:52

我也有类似的问题。有几个要点

  1. 括号和类型名称之间所需的空格。
  2. 您的模型类型需要强制转换模型。

这是我得到的

代码语言:javascript
复制
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl <MyNamespace.MyModel>" %>
<%@ Import Namespace="MyNamespace" %>
<% var model = (MyModel)Model; %>

<h1><% model.MyField %></h1>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2803408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档