我有一个我已经编写并添加到 ASP.NET 页面的用户控件,并且功能很好。但是,我试图在 Page_Load 上从后面的代码中引用该自定义控件中的一个属性,但不能,因为该实例的可访问变量为空。
这对于用户控件和 Page_Load 是否正常?如果是这样,我怎样才能引用控件的实例以访问其公共属性?这是我在呈现页面之前需要做的事情,以便初始化一些变量。
我有一个我已经编写并添加到 ASP.NET 页面的用户控件,并且功能很好。但是,我试图在 Page_Load 上从后面的代码中引用该自定义控件中的一个属性,但不能,因为该实例的可访问变量为空。
这对于用户控件和 Page_Load 是否正常?如果是这样,我怎样才能引用控件的实例以访问其公共属性?这是我在呈现页面之前需要做的事情,以便初始化一些变量。
我遇到了同样的问题,结果证明我错误地注册了我的自定义控件。
正确定义:
<%@ Register Src="PeriodControl.ascx" TagName="PeriodControl" TagPrefix="ucs" %>
不正确的定义:
<%@ Register TagPrefix="ucs" Namespace="MyWebsite" Assembly="MyWebsite" %>
唯一的区别是直接引用 ascx 文件而不是程序集中的控件。去搞清楚!?
您可能可以从Page_PreRender
事件中访问您的用户控件。
您可以在此处找到有关 asp.net 中页面生命周期的更多文档。