2009-11-18 4 views
0

마스터 페이지에 표시되지 않습니다사용자 컨트롤은 내가 ASP.net에서 사용자 지정 사용자 컨트롤이

<%@ Reference Control="~/MenuButton.ascx" %> 
<%@ Register Src="~/MenuButton.ascx" TagName="Menu" TagPrefix="button" %> 


<ul runat="server" id="Menu"></ul> 
012 :
using System; 

public partial class MenuButton : System.Web.UI.UserControl 
{ 
    public String Link = "test.html"; 
    public String Text = "TEST"; 

    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

MasterPage.master이있다MasterPage.master.cs

public List<MenuButton> Menus = new List<MenuButton>(); 
protected void Page_Load(object sender, EventArgs e) 
{ 

    foreach (var control in Menus) 
    { 
     Menu.Controls.Add(control); 
    } 
} 

Default.aspx를

Master.Menus.Add(new MenuButton { Text = "Test1", Link = "test1.html" }); 

그것은 심지어 그것이 무엇을해야하지만, 그냥 내 페이지에 표시되지 어떤 기능을 수행합니까 디버거 확인을 컴파일합니다. 내가 여기서 뭔가를 놓치고 있니?

감사합니다.


편집 1 :

내 마스터 페이지에하는 OnInit 무시하려

:

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 

    foreach (var control in SousMenus) 
    { 
     SousMenu.Controls.Add(control); 
    } 
} 

또한 작동하지 않았다.

+0

Default.aspx 내부에서 버튼을 추가하는 기능은 무엇입니까? Page_Load? – JustLoren

+0

@JustLoren 예. – ademers

+0

컨트롤 경로가 맞습니까? Page_Init을 사용하면 효과가 있습니다. –

답변

0

Page_Init 메서드에 새 버튼을 추가해야한다고 생각합니다.

// 편집 : 방금 테스트했지만 작동하지 않습니다.

관련 문제