当前位置: 代码迷 >> ASP.NET >> 急请专家指导!关于不扩展类System.Web.UI.Page,因此此处不允许。该怎么解决
  详细解决方案

急请专家指导!关于不扩展类System.Web.UI.Page,因此此处不允许。该怎么解决

热度:7400   发布时间:2013-02-25 00:00:00.0
急啊,请专家指导!关于不扩展类System.Web.UI.Page,因此此处不允许。
我的代码如下:
在Login.aspx.cs:
namespace Bookstore
{
  public partial class Login :Page
  {
   
  protected void Page_Load(object sender, EventArgs e)
  {

  }
  }
}

在Login.aspx:
<%@ Page language="C#" Codebehind="Login.aspx.cs" AutoEventWireup="true" Inherits="BookStore.Login" %>
<%@ Register TagPrefix="uc1" TagName="Header" Src="modules/Header.ascx" %>
<%@ Register TagPrefix="uc1" TagName="Menu" Src="modules/Menu.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

另外,我在BookStore项目中添加了一个类BasePage.实现如下:
namespace BookStore
{
  /// <summary>
  /// 所有Web页面的父类。
  /// </summary>
  public class Page : System.Web.UI.Page
  {
  public Page()
  {

  }

  /// <summary>
  /// 错误处理
  /// </summary>
  /// <param name="e">错误句柄</param>
  protected override void OnError(EventArgs e)
  {
  base.OnError(e);
  string errorMsg = Context.Error.Message;
  Response.Redirect("ErrorPage.aspx?errorMsg=" + errorMsg);
  }
  }
}
执行Login.aspx后提示错误:
分析器错误消息: “BookStore.Login”不扩展类“System.Web.UI.Page”,因此此处不允许。

源错误: 


行 1: <%@ Page language="C#" Codebehind="Login.aspx.cs" AutoEventWireup="true" Inherits="BookStore.Login" %>
行 2: <%@ Register TagPrefix="uc1" TagName="Header" Src="modules/Header.ascx" %>
行 3: <%@ Register TagPrefix="uc1" TagName="Menu" Src="modules/Menu.ascx" %>
 

源文件: /Login.aspx 行: 1 












------解决方案--------------------------------------------------------
你先把命名改一下吧
你login类继承page类,最好是讲page改为pagebase这样好一点,名称空间没引用的话系统不知道是引用的BookStore.page还是System.Web.UI.Page 

或者改为login:BookStore.page
------解决方案--------------------------------------------------------
BookStore.Login 继承 BookStore.Page
BookStore.Page继承System.Web.UI.Page

如果名称空间都加上去了,这是可以的

你贴下你更改后的代码看看
  相关解决方案