我正在尝试为位于向导的 FinishNavigationTemplate 内的占位符控件内的 LinkButton 控件动态设置 PostBackTrigger。我想做正常回发的原因是按钮开始下载。
我的(简化的)标记如下所示:
<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>
现在,一旦 PlaceHolder Visible 属性设置为 true,我就不会将 Linkbutton id 添加为 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);
}
这给了我异常“在 UpdatePanel 'updPanel' 中找不到触发器的 ID 为 'lbtnClick' 的控件。” 有没有办法让标记保持原样,并以某种方式让链接按钮进行正常的回发?