2015-04-28 96 views
0

我有一个.aspx页面,我们将其称为Data.aspx,它将使用ajax请求从另一个.aspx中的名为GenerateDocument的函数检索响应项目中的页面,我们将调用这个Document.aspx。它提交了它的ajax请求,但请求失败了,我试图解密它是否与我的Document.aspx页面指令有关。在Document.aspx内容的全文是这样的(这并不意味着生成页面,只有基于传递给它的数据文件):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跟踪此问题)。回到顶端这篇文章中的信息适用于:

这似乎是它可能是一个明显的问题,功能只是没有被击中,但我似乎无法解析它。任何帮助?谢谢。

+0

试试这个:''Inherits =“NameSpace.Document”'因为'Inherits'属性告诉页面指令它应该从cz后面使用哪个类,一个名字空间可以包含多个类。 –

+1

如果不是要生成页面,则应该使用通用处理程序(.ashx)。 – mason

+0

我打错了代码。它确实在最后使用了一个带有类名称的名称空间。如果我在继承中只使用了类名,它会给出同样的错误:'无法加载类型'文档' – Lapys

回答

0

我想通了这个问题。感谢所有那些回应!

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

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

相关问题