我得到了一个asp.net 3.5应用程序-编译正常,但当浏览页面时,我得到以下错误。对这一切的搜索似乎都表明这是名称空间问题,但我的所有页面似乎都声明了正确的名称空间。
感谢您的帮助!
菲尔·J。
“/Internet/bm2/bm2”应用程序中的服务器错误。
解析器错误描述:解析服务此请求所需的资源时出错。请查看以下特定的解析错误详细信息,并相应地修改源文件。
分析器错误消息:此处不允许使用'bm2.PolicyLookup‘,因为它没有扩展类'System.Web.UI.Page’。
源错误:
第1行:<%@ Page Language="vb“AutoEventWireup="false”CodeBehind="PolicyLookup.aspx.vb“Inherits="bm2.PolicyLookup”validateRequest="false“aspcompat="true"%>第2行:
第3行:
源文件: /internet/bm2/bm2/policylookup.aspx行:1
System.Web.UI.Page确实是从代码隐藏中继承而来的:
Namespace bm2公共类PolicyLookup继承System.Web.UI.Page Protected WithEvents lblResponse As Label Protected WithEvents btnSubmit As System.Web.UI.WebControls.Button Dim myModel As New bm2。模型Dim postData公共objMessage
发布于 2011-02-04 00:42:33
如果这是名称空间问题(不太可能),则需要在页面中添加一条@import语句:
<%@ Import namespace=”My.Namespace.Where.bm2.PolicyLookup.Exists” %>或修改@Page指令以包括完全限定的类名
....inherits="My.Namespace.bm2.PolicyLookup"当然,这只有在bm2.PolicyLookup从System.Web.UI.Page派生出来的情况下才有效。
@Page属性
inherits="bm2.PolicyLookup"告诉ASP.NET类bm2.PolicyLookup继承自System.Web.UI.Page,在处理页面时应实例化该类以处理on_load()、render()等事件。但是,ASP.NET认为您的类bm2.PolicyLookup不是从System.Web.UI.Page继承的,因此出现了错误。
为了使webforms引擎能够处理您的页面,它必须继承现有的page类。该类提供了所需的所有事件处理程序、呈现方法等。
另外,还有一点不相关的建议: Visual Studio在使用VB.Net站点时隐藏了许多功能。考虑转移到C#,并转移到web应用程序项目而不是网站项目。
发布于 2011-02-04 00:43:17
我不知道System.Web中是否有PolicyLookup类(我不认为有),但当我尝试将页面命名为SiteMap.aspx时,我遇到了类似的问题,因为有一个名为SiteMap的类型(尽管它位于不同的名称空间中,但似乎仍然会引起问题)。修复方法是完全重命名,或者让类名后面的代码加上下划线作为前缀(您可能必须更新aspx中的Page指令以匹配新的类型名。
https://stackoverflow.com/questions/4887752
复制相似问题