【问题标题】:ASPX Page 'Could not load type' ErrorASPX 页面“无法加载类型”错误
【发布时间】:2015-04-28 13:12:19
【问题描述】:

我有一个 .aspx 页面,我们将其称为 Data.aspx,它将使用 ajax 请求从项目中另一个 .aspx 页面中名为 GenerateDocument 的函数中检索响应,我们将调用此 Document.aspx。它提交了它的 ajax 请求,但请求失败了,我正试图破译它是否与我在 Document.aspx 上的页面指令有关。 Document.aspx 上的全部内容是这样的(不是生成页面,只是根据传递给它的数据生成文档):

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Document.aspx.vb" Inherits="NameSpace.Document" %>

在 Document.aspx.vb 中,我们有:

Public Class Document
    Inherits Generic.WebPage
    <System.Web.Services.WebMethod()> _
    Public Shared Function GenerateDocument
        ‘Process data and return as document
    End Function
End Class

(不仅如此,还有页面加载功能等,但这是我要尝试的相关功能。)

使用这个配置,我们得到的错误是抱怨‘Could not load type NameSpace.Document’

我认为我不应该使用该类似乎不包含在其中的命名空间,所以我尝试只说 Inherits="Document",但返回了相同的错误加载类型消息。

我在修复后构建项目并且没有出现构建错误,但是如果我尝试将 CodeBehind 更改为 CodeFile 属性,我会收到运行时编译错误而不是类型错误(我正在通过 Fiddler 进行跟踪)。

这似乎是一个明显的问题,即函数没有被命中,但我似乎无法解析它。有什么帮助吗?谢谢。

【问题讨论】:

  • 试试这个:- Inherits="NameSpace.Document" 因为Inherits 属性告诉页面指令它应该从页面后面的页面使用哪个类,命名空间可以包含多个类。
  • 如果不打算生成页面,则应使用通用处理程序 (.ashx)。
  • 我打错了代码。它确实使用了最后带有类名的命名空间。如果我只使用继承中的类名,它会给出同样的错误:Could not load type 'Document'
  • 你的代码中是否应该没有这样的东西:Partial Public Class Document Inherits System.Web.UI.Page
  • 我的类继承的 Generic.WebPage 继承了 System.Web.UI.Page。

标签: asp.net vb.net


【解决方案1】:

我发现了这个问题。感谢所有回复的人!

问题是,虽然文件都在正确的目录中,但没有将一个文件添加到解决方案中的项目中,尽管引用是有序的(继承我留下指向类继承的命名空间,加上类),程序在运行时没有找到它们。当我尝试使用 CodeFile 并遇到编译错误并意识到它根本不知道要指向哪个类时,这一点变得很明显。

TL;DR - 我将 .aspx 文件添加到项目中,整个工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 2010-11-10
    相关资源
    最近更新 更多