gpt4 book ai didi

c# - 从其他用户控件加载用户控件 (ascx)

转载 作者:行者123 更新时间:2023-11-30 22:20:30 24 4
gpt4 key购买 nike

我有一个 UserControl (ascx),根据用户的凭据,它将加载另一个 UserControl (ascx)。当前要加载的控件,包含一个特殊的导航菜单。

我正在使用这段代码:

UserControl jmNav = 
(UserControl)Page.LoadControl("~/controls/client/jmNavigation.ascx");

然后,在更多代码之后,我告诉它加载,如下所示:

    SBarTopWelcome.Controls.Add(jmNav);

问题是,我收到“对象引用未设置为对象实例”错误。

是的,路径是正确的 - 正如我这样尝试过的(在所有变体中):

UserControl jmNav = (UserControl)Page.LoadControl("/client/jmNavigation.ascx");

这个(及其变体)告诉我它不存在。

所以!有什么想法吗?

最佳答案

一个有用的解决方案是添加 <%@ Register %>到你的家长控制。是的,我知道它在您的父页面中,但它也应该在您的控制之下。

如果你这样做,你应该能够 Strongly-Type你的控制。例如,类名为 MyControl 的控件会是:

MyControl controlVar = (MyControl)this.LoadControl("MyControl.aspx");

如果你能够获取到 stronly-defined 变量,你应该没有问题。

关于c# - 从其他用户控件加载用户控件 (ascx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com