在页面代码后面的Page_Load上引用时,ASP.NET User Control实例为null

时间:2012-04-26 20:02:11

标签: asp.net user-controls pageload

我有一个用户控件,我已经编写并添加到ASP.NET页面,并且运行正常。但是,我试图在Page_Load上的代码后面引用该自定义控件中的属性,但不能,因为该实例的可访问变量为null。

用户控件和Page_Load这是正常的吗?如果是这样,我如何引用控件的实例以访问其公共属性?这是我在呈现页面之前需要做的事情,以便初始化一些变量。

2 个答案:

答案 0 :(得分:15)

我遇到了同样的问题,结果发现我正在正确注册我的自定义控件。

正确定义:

<%@ Register Src="PeriodControl.ascx" TagName="PeriodControl" TagPrefix="ucs" %>

错误的定义:

<%@ Register TagPrefix="ucs" Namespace="MyWebsite" Assembly="MyWebsite" %>

唯一的区别是直接引用ascx文件而不是程序集中的控件。去图!?

答案 1 :(得分:0)

您可以从Page_PreRender事件中访问您的用户控件。

您可以找到有关page life cycle in asp.net here

的更多文档