The page will render space for the control that is to be popped up if the current step doesn't have the popupcontrolextender (PCE). The step with the PCE correctly renders. Sample code:
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<ajax:ScriptManager runat="server" ID="sm1" EnablePartialRendering="true"></ajax:ScriptManager>
<asp:Calendar ID="Cal1" runat="server" style="visibility: hidden; " />
<asp:Wizard ID="NewFormWizard" runat="server" Width="100%" BackColor="#EFF3FB" BorderColor="#B5C7DE"
BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" CancelButtonText="Cancel"
DisplayCancelButton="true" DisplaySideBar="false" Height="70%" >
<WizardSteps>
<asp:WizardStep ID="WizardStepGeneral" runat="server" Title="*General">
Hi.
</asp:WizardStep>
<asp:WizardStep ID="WizardStepStyle" runat="server" Title="*Style">
Hello again.
<asp:TextBox runat="server" ID="blah" />
<act:PopupControlExtender runat="server" ID="blahpce" PopupControlID="Cal1"
TargetControlID="blah" />
</asp:WizardStep>
</WizardSteps>
</asp:Wizard>
</form>
</body>
</html>
Note the extra space at the top of step 1. When you move to step 2, where the popupcontrolextender is, there's no space, as the expected behavior dictates.
No wizard, no problem:
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<ajax:ScriptManager runat="server" ID="sm1" EnablePartialRendering="true"></ajax:ScriptManager>
<asp:Calendar ID="Cal1" runat="server" style="visibility: hidden; " />
<asp:TextBox runat="server" ID="blah" />
<act:PopupControlExtender runat="server" ID="blahpce" PopupControlID="Cal1"
TargetControlID="blah" />
</form>
</body>
</html>