0

我正在尝试使用 JuiceUI 中的容器控件。到目前为止,我已经玩过手风琴tabs。它们是很棒的控件,但是我在更新这些控件的“内容”标签中的子控件时遇到了问题。

对于手风琴,有一个 PanelContent 标签,对于选项卡,有一个 TabContent 标签,但为了简单起见,我们将重点放在手风琴上。

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

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

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

不过,当我从 AccordionPanel 中调出 PanelContent 属性时,它有一个名为 InstantiateIn 的方法。它的智能感知描述如下:

Public Sub InstantiateIn(container As 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>
4

1 回答 1

0

据我了解,JuiceUI 有一个尚未发布的未决更新,它为您的场景实现了“FindControl”方法。代码已在其源存储库中,但尚未发布 nuget 更新。

您可以尝试一个名为Brew的 fork ,它已经具有该功能并且是 JuiceUI 的近亲。

于 2013-03-12T16:19:20.337 回答