私はaspxを持っています。ascxコントロールを動的に交換するにはどうすればよいですか?
<div id="headerRegion" class="borderDiv">
<xy:paymentHeader id="paymentHeader1" runat="server" />
</div>
<div id="paymentRegion" class="borderDiv">
<asp:UpdatePanel ID="paymentFormUpdater" runat="server">
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="plcPaymentForm" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
on initでは、placeHolderがascxをロードします。
private Control GetPaymentControl(char? coverageBenefitPeriod)
{
Control paymentCtl = null;
switch (coverageBenefitPeriod)
{
case 'L':
paymentCtl = this.LoadControl("~/Controls/Lumpform.ascx");
break;
case 'W':
paymentCtl = this.LoadControl("~/Controls/Periodicform.ascx");
break;
default:
paymentCtl = this.LoadControl("~/Controls/Lumpform.ascx");
break;
}
return paymentCtl;
}
plcPaymentForm.Controls.Add(control);
paymentHeader1コントロールのradioButtonリストがあります。ラジオボタンが、プレースホルダ "plcPaymentForm"内のPeriodicform.ascxとLumpform.ascxとの間をエレガントに交換したいとトグルするとき。これを正しく行うにはどうしたらいいですか?私は両方のコントロールをロードせず、可視性を切り替えることを試みています。もしあなたが最小限のページの介入でこれを正しく行う方法を知っていれば、私に正しい方向を教えてください。
おかげで、サンディエゴ〜CK