2010-09-08 50 views
0

我正在为Accordion控件动态添加手风琴窗格。当我添加一个窗格,没有问题,但在尝试添加第二个窗格中我得到异常:多个控件使用相同的ID“_content”发现Ajax Accordion - 发现了具有相同ID'_content'的多个控件

我试图窗格分配唯一的ID但如下不是快乐。任何人都可以帮忙吗?

谢谢

Rob。

if (User.IsInRole(@"arcpet\RDLM – Tradecapture Initial Margin Users – Security")) 

{用于窗格 AccordionPane pneTCaptureInitalMargin =新AccordionPane //生成报头(); pneTCaptureInitalMargin.HeaderContainer.Controls.Add(new LiteralControl(“(TCIM)T/Capture Initial Margin”)); pneTCaptureInitalMargin.ID =“AccordionPane”+ Guid.NewGuid()。ToString(); pneTCaptureInitalMargin.HeaderContainer.ID =“HeaderContainer”+ Guid.NewGuid()。ToString();

//build content for pane 
    pneTCaptureInitalMargin = AddHyperLink("Trade Books & Markers", "TradeBook/TradeBook.aspx?4", pneTCaptureInitalMargin); 
    acc.Panes.Add(pneTCaptureInitalMargin); 

    pneTCaptureInitalMargin = AddHyperLink("+Create New Records", "TradeBook/TradeBookDetail.aspx?acPane=4&type=new", pneTCaptureInitalMargin); 
    acc.Panes.Add(pneTCaptureInitalMargin); 

    pneTCaptureInitalMargin = AddHyperLink("Bache Account Mappings", "BacheAccount/BacheAccountSettings.aspx?4", pneTCaptureInitalMargin); 
    acc.Panes.Add(pneTCaptureInitalMargin); 

    pneTCaptureInitalMargin = AddHyperLink("+Create New Record", "BacheAccount/BacheAccountSettingsDetail.aspx?acPane=4&type=new", pneTCaptureInitalMargin); 
    acc.Panes.Add(pneTCaptureInitalMargin); 

    pneTCaptureInitalMargin = AddHyperLink("Run DI Job", "AjaxBODI.aspx?acPane=0&subject=refTradeBook", pneTCaptureInitalMargin); 
    acc.Panes.Add(pneTCaptureInitalMargin); 
} 

if (User.IsInRole(@"arcpet\RDLM – Cash Utilisation Users – Security")) 
{ 
    //build header for pane 
    AccordionPane pneCashUtilisation = new AccordionPane(); 
    pneCashUtilisation.HeaderContainer.Controls.Add(new LiteralControl("(CU) Cash Utilisation")); 
    pneCashUtilisation.ID = "AccordionPane" + Guid.NewGuid().ToString(); 
    pneCashUtilisation.HeaderContainer.ID = "HeaderContainer" + Guid.NewGuid().ToString(); 

    //build content for pane 
    pneCashUtilisation = AddHyperLink("Trade Books & Markers", "TradeBook/TradeBook.aspx?5", pneCashUtilisation); 
    acc.Panes.Add(pneCashUtilisation); 

    pneCashUtilisation = AddHyperLink("+Create New Records", "TradeBook/TradeBookDetail.aspx?acPane=5&type=new", pneCashUtilisation); 
    acc.Panes.Add(pneCashUtilisation); 

    pneCashUtilisation = AddHyperLink("Trade Book Overheads", "TradeBook/TradeBookOverhead.aspx?5", pneCashUtilisation); 
    acc.Panes.Add(pneCashUtilisation); 

    pneCashUtilisation = AddHyperLink("+Create New Record", "TradeBook/TradeBookOverheadDetail.aspx?acPane=5&type=new", pneCashUtilisation); 
    acc.Panes.Add(pneCashUtilisation); 

    pneCashUtilisation = AddHyperLink("Run DI Job", "AjaxBODI.aspx?acPane=0&subject=refTradeBook", pneCashUtilisation); 
    acc.Panes.Add(pneCashUtilisation); 
} 

回答

3

修好了!不知道为什么,但声明后直接分配PaneId(在下面的行)是至关重要的。

+0

你应该给自己一些正确答案的功劳!这也解决了我的头痛:) – clamchoda 2012-02-21 15:24:15

相关问题