【发布时间】: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。