在aspx页面中包含一个c#文件

时间:2010-04-09 04:30:42

标签: c# asp.net

我有一个aspx页面,它有一个指向c#类的@Page指令。 e.g。

<@ Page Language="C#" EnableSessionState="true" ValidateRequest="False" Inherits="MyClass" %>

MyClass扩展了Page,这是该aspx页面背后的代码。

现在我想在aspx页面添加另一个类。此类进行一些处理,如果满足某些条件,则会将用户重定向到另一个页面。它将在上述指令之前调用。我尝试添加另一个@Page指令,但得到了一个未知错误(字面意思)。我认为每个aspx页面后面只能有一个代码,所以当我添加另一个时,我得到了错误。谷歌搜索这样的问题并没有真正帮助我解决问题。

那么,如何将另一个c#类添加到同一个aspx页面?

感谢。

1 个答案:

答案 0 :(得分:4)

您可以添加另一个扩展Page类的类,然后将新创建的类添加为您网页的父级。

public class MyBaseClass : System.Web.UI.Page
{
    protected override void OnLoad(EventArgs e)
    {
       // ... add custom logic here ...

       // Be sure to call the base class's OnLoad method!
       base.OnLoad(e);
    }
}

public class WebForm1 : MyBaseClass
{
    private void Page_Load(object sender, System.EventArgs e)
    {
        // Put user code to initialize the page here
    }

    ...
}

见这个

Using a Custom Base Class for your ASP.NET Pages' Code-Behind Classes