JuiceUIのコンテナコントロールを使用しようとしています。これまで私はaccordionとtabsで遊んできました。彼らは素晴らしいコントロールですが、私はこれらのコントロールの "コンテンツ"タグ内の子コントロールを更新する際に問題があります。Juice UI子コントロール
アコーディオンの場合、PanelContentタグがあり、タブにはTabContentタグがありますが、簡単にするため、アコーディオンに焦点を当てます。
PanelContentの中には、ラベルがあります。私はいくつかの情報でこのラベルを更新する必要があります。私はコントロールに直接アクセスすることができなかったので、私はアコーディオン自体のFindControlからコントロールをキャストしようとしました。 NullReferenceExceptionが発生しました。私もAccordionPanelで同じことを試みました。同じことが起こりました。そのすべてが理にかなっています。
メンバーは、VBFで、ラベルがPanelContentの子であると指摘しました。 IDプロパティはないので、サーバーサイドのコードから直接アクセスすることはできませんでした。そこで私はAccordionPanelからアクセスしようとしました。私は可能でしたが、FindControlメソッドはありませんでした。
そのため、PanelContentタグ内からそのラベルにアクセスする方法がわかりません。
AccordionPanelからPanelContentプロパティをプルアップすると、InstantiateInというメソッドが1つあります。これは、インテリセンス説明は以下であるのです。
ます。Public 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">
</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>