这是我的简单类,我从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
的无效专长(ispostback
,request
等等),我会得到一个空引用异常。
为什么会发生这种情况?
编辑:
在Test
的OnLoad方法中替换'ispostback'response.write()似乎有效吗?
答案 0 :(得分:1)
这是一个真正的UserControl吗?否则我会继承控制,是当你调用函数时是将usercontrol放在asp.net页面上还是只是设置并调用?
答案 1 :(得分:1)
您的课程未作为用户控件处理。因此,没有“IsPostBack”和其他属性。它们只是空的。您应该在页面上注册您的课程,以便此课程将成为部分aspx页面
答案 2 :(得分:1)
像IsPostback这样的属性取决于托管用户控件的页面,好吧,应该托管,因为您的示例不会将用户控件添加到Page的Controls集合,这解释了崩溃。