2012-04-17 70 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的親戚。