我的代码如下:
在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
如果名称空间都加上去了,这是可以的
你贴下你更改后的代码看看