我想动态地为一个LinkButton控件动态地设置一个占位符控件,该控件位于向导的FinishNavigationTemplate内部。我想做普通回发的理由是因为按钮开始下载。PostBackTrigger控制里面的向导里面的向导FinishNavigationTemplate
我(简化)标记看起来是这样的:
<asp:UpdatePanel runat="server" id="updPanel">
<ContentTemplate>
<asp:Wizard runat="server" ID="wizard">
<WizardSteps>
<asp:WizardStep runat="server" Title="Step 1">
Step data
</asp:WizardStep>
</WizardSteps>
<FinishNavigationTemplate>
<asp:Placeholder ID="phTest" Visible="false" runat="server">
<asp:LinkButton id="lbtnClick" runat="server" />
</asp:Placeholder>
</FinishNavigationTemplate>
</asp:Wizard>
</ContentTemplate>
</asp:UpdatePanel>
现在我wan't添加LinkButton的ID作为一次占位符Visible属性设置为true PostBackTrigger。
protected void Page_Load(object sender, System.EventArgs e)
{
PlaceHolder phTest = wizard.FindControl("FinishNavigationTemplateContainerID$phTest") as PlaceHolder;
phTest.Visible = true;
LinkButton lbtnClick = offerWizard.FindControl("FinishNavigationTemplateContainerID$lbtnClick") as LinkButton;
PostBackTrigger trigger = new PostBackTrigger();
trigger.ControlID = lbtnClick.ID;
//trigger.ControlID = lbtnClick.ClientID;
//trigger.ControlID = "FinishNavigationTemplateContainerID$lbtnClick";
updPanel.Triggers.Add(trigger);
}
这让我异常“ID为‘lbtnClick’的控制不能在UpdatePanel的‘updPanel’触发找到。” 有没有办法保持标记的方式,并以某种方式使linkbutton做一个正常的回发?