给定null异常的继承类

时间:2010-03-01 10:52:16

标签: c# asp.net inheritance

这是我的简单类,我从UserControl继承。

public class Test:System.Web.UI.UserControl
{
    public void BindGrid()
    {
        Response.Write(IsPostBack);
    }
}

我从Page_Load事件中调用

protected void Page_Load(object sender, EventArgs e)
{
  new Test().BindGrid();
}

但是如果我尝试调用任何UserControl的无效专长(ispostbackrequest等等),我会得到一个空引用异常。

为什么会发生这种情况?

编辑:

Test的OnLoad方法中替换'ispostback'response.write()似乎有效吗?

3 个答案:

答案 0 :(得分:1)

这是一个真正的UserControl吗?否则我会继承控制,是当你调用函数时是将usercontrol放在asp.net页面上还是只是设置并调用?

答案 1 :(得分:1)

您的课程未作为用户控件处理。因此,没有“IsPostBack”和其他属性。它们只是空的。您应该在页面上注册您的课程,以便此课程将成为部分aspx页面

答案 2 :(得分:1)

像IsPostback这样的属性取决于托管用户控件的页面,好吧,应该托管,因为您的示例不会将用户控件添加到Page的Controls集合,这解释了崩溃。