对于阻止对CreateUserWizardControl进行自定义以识别其他控件的原因感到非常困惑和真的感到沮丧。我正在使用VS 2012并从asp.net Web Forms 4.5模板创建项目。在我的开发Windows 7机器上使用VS 2012进行测试时,它正在工作。当我使用VS中的VS文件发布功能部署时没有文件排除,然后xcopy到我的IIS 8 Web服务器。我检查了部署的Register.aspx页面,控件就在那里;但是,当我运行应用程序时,自定义控件不会呈现给页面。我查看了视图源,它们根本就不存在。我现在已将它简化为一个复选框,而这只是没有显示出来。如果我将它完全放在向导外面的页面上,或者放在内容模板,布局模板或字段集中,那都没关系 - 没有任何作用。
我错过了某个地方的设置或步骤吗?我的项目处于用户测试阶段,我没有可能。
这是一段代码:
<asp:CreateUserWizard runat="server" ID="RegisterUser" ViewStateMode="Disabled"
OnCreatedUser="RegisterUser_CreatedUser"
OnCreatingUser="RegisterUser_OnCreatingUser"
OnCreateUserError="RegisterUser_OnCreateUserError"
>
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="wizardStepPlaceholder" />
<asp:PlaceHolder runat="server" ID="navigationPlaceholder" />
<asp:HiddenField ID="hidLicenseNumber" runat="server" />
</LayoutTemplate>
<WizardSteps>
<asp:CreateUserWizardStep runat="server" ID="RegisterUserWizardStep">
<ContentTemplate>
<p class="validation-summary-errors">
<asp:Literal runat="server" ID="ErrorMessage" />
</p>
<fieldset>
<legend>Registration Form</legend>
<ol>
.....
Bunch of list items here from the template for
user name, question, and password
.....
<li>
<asp:CheckBox ID="AgreeToTermsOfUse" runat="server" Text="Agree to Terms of Use" />
</li>
</ol>
<asp:Button runat="server" CommandName="MoveNext" Text="Register" />
</fieldset>
<p class="message-info">
Passwords are required to be a minimum of <%: Membership.MinRequiredPasswordLength %>characters in length. </p></ContentTemplate><CustomNavigationTemplate />
</asp:CreateUserWizardStep>
答案 0 :(得分:0)
通过创建一个全新的项目并拉入现有页面减去向导页面来解决这个问题。