2012-04-17 67 views
0

我试图从JuiceUI使用容器控件。到目前为止,我玩过accordiontabs。他们是很棒的控件,但我在更新这些控件的“内容”标签中的子控件时遇到了问题。果汁UI儿童控制

对于手风琴,有一个PanelContent标签,对于标签,有一个TabContent标签,但为了使事情更简单,我们将专注于手风琴。

在PanelContent的内部,我有一个标签。我需要用一些信息更新这个标签。由于我无法直接访问该控件,因此我试图从手风琴本身的FindControl控件上进行投射。发生NullReferenceException。我也在AccordionPanel上尝试过,发生了同样的事情。所有这些都有道理。

在VBF上,一位成员指出该标签是PanelContent的子项。它没有ID属性,所以我无法直接从服务器端代码访问。所以我尝试从AccordionPanel访问它。我可以,但没有FindControl方法。

因此,我不确定如何从该PanelContent标签中访问该标签。

虽然,当我从AccordionPanel拉起PanelContent属性时,它有一个名为InstantiateIn的方法。它的智能感知说明如下:

公用Sub InstantiateIn(容器作为System.Web.UI.Control)当 由类实现,定义了System.Web.UI.Control对象 子控件和模板所属至。这些子控件在内联模板中定义的 转。

听起来就像我需要的。但我不太清楚如何使用它。 JuiceUI文档似乎并不完整,因为我无法在此找到任何关于此的内容。

任何想法,家伙?

客户端:

<asp:UpdatePanel runat="server"> 
    <ContentTemplate> 
     <table style="width: 99%;"> 
      <tr> 
       <td class="style1"> 
        <asp:Label ID="Label1" runat="server" Text="CSO:"></asp:Label> 
       </td> 
       <td> 
        <asp:TextBox ID="txtCSONumber" runat="server" CssClass="UpperCase" Width="115px"></asp:TextBox> 
       </td> 
      </tr> 
      <tr> 
       <td class="style1"> 
        &nbsp; 
       </td> 
       <td> 
        <asp:Button ID="btnRetrieve" runat="server" Height="22px" Text="Retrieve" Width="120px" /> 
       </td> 
      </tr> 
      <tr> 
       <td class="style1"> 
       </td> 
       <td> 
        <asp:Label ID="lblMessage" runat="server" ForeColor="Red" Text="N/A" Visible="False"></asp:Label> 
       </td> 
      </tr> 
     </table> 
     <juice:Accordion ID="accSwrlHddRepl" runat="server"> 
      <juice:AccordionPanel runat="server" Title="HDD Information" ID="pnlHddInfo"> 
       <PanelContent> 
        <p> 
         <asp:Label ID="lblOriginalHDD" runat="server" Text="N/A"></asp:Label> 
        </p> 
       </PanelContent> 
      </juice:AccordionPanel> 
     </juice:Accordion> 
    </ContentTemplate> 
</asp:UpdatePanel> 

回答

0

据我了解,有一个未决的更新JuiceUI尚未公布它实现您的方案一“的FindControl”方法。代码在源代码库中,但nuget更新尚未发布。

你可以尝试一个名为Brew的叉子,它已经具备了这种能力,并且是JuiceUI的亲戚。