c# - Can't access Ajax Accordion Pane's Content -


i'm using accordion hiddenfield , accordion in it's panes below:

<asp:accordion id="accfuncperm" runat="server" headercssclass="accheaderfun"     contentcssclass="acccontfun" onitemdatabound="accfuncperm_itemdatabound"     requireopenedpane="false" selectedindex="-1">     <headertemplate>             <%#databinder.eval(container.dataitem, "nmfuncionalidade")%>         </headertemplate>     <contenttemplate>             <asp:hiddenfield id="hfidf" runat="server" value='<%#databinder.eval(container.dataitem, "idfuncionalidade")%>' />             <asp:accordion id="accpagperm" runat="server" headercssclass="accheader" contentcssclass="acccont"                 requireopenedpane="false" selectedindex="-1" headerselectedcssclass="accheadersel"                  onitemcommand="accpagperm_onitemcommand" suppressheaderpostbacks="false" onitemdatabound="accpagperm_itemdatabound">                 <headertemplate>                     <asp:linkbutton runat="server" text='<%#databinder.eval(container.dataitem, "nmpagina")%>'                           commandname="select" commandargument='<%#databinder.eval(container.dataitem, "idpagina")%>' width="100%" />                                                     </headertemplate>                 <contenttemplate>                     <asp:hiddenfield id="hfid" runat="server" value='<%#databinder.eval(container.dataitem, "idpagina")%>' />                     <asp:table id="tblgrupoacaopagina" runat="server" cssclass="gv" gridlines="both">                         <asp:tableheaderrow id="tblheader" runat="server">                         </asp:tableheaderrow>                     </asp:table>                 </contenttemplate>             </asp:accordion>         </contenttemplate> </asp:accordion> 

on postback access selected pane:

accordionpane pane = accfuncperm.panes[accfuncperm.selectedindex];

but, when try find controls fails.

accordion accpagperm = (accordion)pane.findcontrol("accpagperm"); pane = accpagperm.panes[int.parse(txtacc.text)]; hiddenfield hf = (hiddenfield)pane.findcontrol("hfid"); 

the panel find comes empty content , hiddenfield null.

do know reason, , please provide me solution?

the accordion has 2 accordioncontentpanel instances in controls, 1 header, , other content. content accordioncontentpanel has values looking for:

protected void accfuncperm_itemcommand(object sender, commandeventargs e) {     accordioncontentpanel acpcontent;     accordionpane apane = accfuncperm.panes[accfuncperm.selectedindex];     control[] controls;      //find accpagperm     controls = new control[apane.controls.count];     apane.controls.copyto(controls, 0);     acpcontent = (accordioncontentpanel)controls.single(c => c.findcontrol("accpagperm") != null);     accordion accpagperm = (accordion)acpcontent.findcontrol("accpagperm");      //find hfid     apane = accpagperm.panes[int.parse(txtacc.text)];     controls = new control[apane.controls.count];     apane.controls.copyto(controls, 0);     acpcontent = (accordioncontentpanel)controls.single(c => c.findcontrol("hfid") != null);     hiddenfield hf = (hiddenfield)acpcontent.findcontrol("hfid"); } 

you need check nulls , data types expected, started.

on side note: rid of controls variable, need calculate id of content accordioncontentpanel. seems follow format <accordion.id>_pane_<paneindex>_content <accordian.id> id of accordion owns panel , <paneindex> index of panel in accordion's panel property.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -