#asp.net #vb.net
#asp.net #vb.net
Вопрос:
<asp:CreateUserWizard ID="CreateUserWizard1" runat="server" CreateUserButtonText="Register">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server">
<ContentTemplate>
<table class="style1">
<!-- snip -->
<td>
<asp:TextBox ID="UserName" runat="server" /><br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server"
ControlToValidate="UserName" ErrorMessage="Username is required."
Font-Size="Small" Display="Dynamic" ToolTip="Username is required.">
Username is required.
</asp:RequiredFieldValidator>
</td>
</tr>
<!-- snip -->
</table>
<asp:Literal ID="ErrorMessage" runat="server" EnableViewState="False"></asp:Literal>
</ContentTemplate>
</asp:CreateUserWizardStep>
<asp:CompleteWizardStep ID="CompleteWizardStep1" runat="server">
</asp:CompleteWizardStep>
</WizardSteps>
</asp:CreateUserWizard>
Как мне использовать FindControl
, чтобы найти UserName
TextBox
?
Я пробовал:
Dim createuserwizard = CType(sender, CreateUserWizard)
Dim userNameTextBox As TextBox = CType(createuserwizard.CreateUserStep.ContentTemplateContainer.FindControl("UserName"), TextBox)
Dim userNameTextBox As TextBox = CType(CreateUserWizardStep1.FindControl("UserName"), TextBox)
Но ни один из них не работает для меня.
Ответ №1:
Дочерний элемент управления UserWizardStep является элементом управления CreateUserStepContainer, поэтому вам придется использовать FindControl оттуда. Это будет работать…
Dim userNameTextBox as TextBox = CType(CreateUserWizardStep1.Controls(0).FindControl("UserName"), TextBox)