C# 从包含在该母版页中的WebUserControl引用母版页
我正在从Web用户控件访问母版页公共对象,为此,我必须在WUC中引用母版页,因为我也将在母版页中使用该WUC,所以我必须从母版页引用WUC。Net告诉我这是一个循环引用,是不允许的 我的问题是:如果我也在同一母版页上使用母版页对象,我可以从Web用户控件访问它吗? 让我们一步一步来: 首先,我为母版页创建了一个名称空间,并声明了此对象:C# 从包含在该母版页中的WebUserControl引用母版页,c#,.net,asp.net,C#,.net,Asp.net,我正在从Web用户控件访问母版页公共对象,为此,我必须在WUC中引用母版页,因为我也将在母版页中使用该WUC,所以我必须从母版页引用WUC。Net告诉我这是一个循环引用,是不允许的 我的问题是:如果我也在同一母版页上使用母版页对象,我可以从Web用户控件访问它吗? 让我们一步一步来: 首先,我为母版页创建了一个名称空间,并声明了此对象: namespace MyMPNamespace { public partial class SiteMaster : System.Web.UI.Master
namespace MyMPNamespace {
public partial class SiteMaster : System.Web.UI.MasterPage
{
public MyNamespace.Navigator Navi {get; set;}
public MyNamespace.user User { get; set; }
protected void Page_Init(object sender, EventArgs e) {
Navi = new MyNamespace.Navigator();
User = new MyNamespace.user(true, true);
}
...
} }
然后我可以从Web用户控件访问它,首先,引用母版页:
<%@ Register TagPrefix="mp" TagName="MyMP" Src="~/Site.master" %>
完成后,它可以在任何.aspx页面上运行。但是现在我想将WUC添加到母版页,我发现我不能,因为.Net说有一个循环引用(这是真的,但应该不会有问题)
我知道其他方法,比如动态加载WUC(我没有尝试过),或者从母版页访问WUC并从母版页设置WUC属性(这很有效)。我想知道的是,如果有一种方法可以做这个参考,因为我喜欢WUC能够访问母版页并且是100%独立的想法,它知道显示什么等等。根本不需要调用它。我能够创建一个Web用户控件,将它放在母版页上,然后访问母版页,无循环引用问题。为了回答这个问题,我需要更多的信息:
你好,马克,谢谢你抽出时间。1:.Net版本为4 | 2:Im使用Web应用程序。|3:用户控件有自己的文件5:我通常使用设计器添加WUC,但我手动添加母版页引用。
public MyNamespace.Navigator Navigator { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
Navigator = ((MyMPNamespace.SiteMaster)this.Page.Master).Navi;
}