【问题标题】:Juice UI Child ControlsJuice UI 子控件
【发布时间】:2012-04-29 06:51:42
【问题描述】:

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

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

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

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

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

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

Public Sub InstantiateIn(container As System.Web.UI.Control) When 由一个类实现,定义 System.Web.UI.Control 对象 子控件和模板属于。这些子控件在 turn 在内联模板中定义。

听起来正是我需要的。但我不太确定如何使用它。 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>

【问题讨论】:

    标签: jquery asp.net vb.net controls juice-ui


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-02
      • 2012-06-18
      • 2018-04-02
      • 2012-04-04
      • 2011-11-23
      • 2020-11-26
      • 1970-01-01
      相关资源
      最近更新 更多