我有一个aspx页面,它有一个指向c#类的@Page指令。 e.g。
<@ Page Language="C#" EnableSessionState="true" ValidateRequest="False" Inherits="MyClass" %>
MyClass扩展了Page,这是该aspx页面背后的代码。
现在我想在aspx页面添加另一个类。此类进行一些处理,如果满足某些条件,则会将用户重定向到另一个页面。它将在上述指令之前调用。我尝试添加另一个@Page指令,但得到了一个未知错误(字面意思)。我认为每个aspx页面后面只能有一个代码,所以当我添加另一个时,我得到了错误。谷歌搜索这样的问题并没有真正帮助我解决问题。
那么,如何将另一个c#类添加到同一个aspx页面?
感谢。
答案 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