私は実行時にいくつかのusercontrolをロードするPlaceHolderを持っています。ASP.Netは、usercontrolの要素の実行時にpostbacktriggerを追加します。
<asp:UpdatePanel ID="UpdatePanel_Items" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder_Main" runat="server"></asp:PlaceHolder>
</ContentTemplate>
ユーザーコントロールプレースホルダするユーザーコントロールを追加した後素子
<asp:LinkButton ID="LinkButton_AddToCart" runat="server" OnClick="LinkButton_AddToCart_Click" CausesValidation="false"></asp:LinkButton>
を有している、私はすべてのユーザーコントロールにLinkButton_AddToCartためのポストバックトリガーを追加する必要があります。 は、私はこれを試してみました:
foreach (Control item in PlaceHolder_Main.Controls)
{
try
{
WUC_Rim wuc = (WUC_Rim)item;
PostBackTrigger trigger = new PostBackTrigger();
LinkButton lnk = wuc.GetLinkButton_AddToCart();
trigger.ControlID = lnk.UniqueID;
UpdatePanel_Items.Triggers.Add(trigger);
}
catch
{
}
}
が、エラー
IDを持つコントロールのctl00 $ MainContentの$ ctl02 $ LinkButton_AddToCart 'を持つには、UpdatePanelの 'UpdatePanel_Items' にトリガーが見つかりませんでした。
あなたは 'UniqueID'とは反対に、' ID'を指定することで、それを試してみましたか? –
はい、私はそれを試しました。エラー:ID 'LinkButton_AddToCart'のコントロールが、UpdatePanel 'UpdatePanel_Items'のトリガーで見つかりませんでした。 Asynhtriggerは私が書いたコードを使って作業しています。ポストバックはできません。 – Alex