在页面代码后面的 Page_Load 上引用 ASP.NET 用户控件实例时为空

标签 asp.net user-controls pageload

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

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

最佳答案

我遇到了同样的问题,结果证明我错误地注册了我的自定义控件。

正确定义:

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

不正确的定义:
<%@ Register TagPrefix="ucs" Namespace="MyWebsite" Assembly="MyWebsite" %>

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

关于在页面代码后面的 Page_Load 上引用 ASP.NET 用户控件实例时为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340610/

相关文章:

c# - 动态加载用户控件的订阅事件

c# - 子类化 UserControlled GridView

asp.net - 如何在子页面的onload事件中调用javascript

javascript - AngularJS 在渲染大约 2000 个元素时真的很慢吗?

c# - 如何在本地获取 Azure 应用程序设置?

asp.net - DelegatingHandler 将授权 token 添加到请求

asp.net - jQuery 和 ASP.NET 名称

wpf - 为 RelativeSource 绑定(bind)定义混合表达式 ViewModel 定义

asp.net - 动态控件在回发后消失

c# - 在 C# 中向 CSS 类选择器添加属性