#asp.net
#asp.net
Вопрос:
<asp:LoginView ID="LoginView4" runat="server">
<AnonymousTemplate>
<asp:DropShadowExtender ID="DropShadowExtender3" runat="server"
TargetControlID="Panel3"
Opacity=".38"
Rounded="true">
</asp:DropShadowExtender>
<asp:Panel ID="Panel3" runat="server"
BackColor="Silver" Width="400px">
<asp:CreateUserWizard ID="CreateUserWizard1"
runat="server"
ContinueDestinationPageUrl="~/ViewCart_aspx/ViewCart.aspx"
oncreateduser="CreateUserWizard1_CreatedUser">
<WizardSteps>
<asp:CreateUserWizardStep ID="CreateUserWizardStep1" runat="server" >
<ContentTemplate>
<fieldset class="push">
<table border="0">
<tr>
<td align="center" colspan="2">
<h3 style="text-align:center;">Sign Up for Your New Account</h3></td>
</tr>
<tr>
<td align="right">
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label>
</td>
<td>amp;nbsp;
**<asp:TextBox ID="UserName" runat="server" Width="150px"></asp:TextBox>**
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server"
ControlToValidate="UserName" ErrorMessage="User Name is required."
ToolTip="User Name is required." ValidationGroup="CreateUserWizard1">*</asp:RequiredFieldValidator>
</td>
Я использую этот код для поиска элемента управления
Protected Sub CreateUserWizard1_CreatedUser(ByVal sender As Object, ByVal e As System.EventArgs)
Dim UserNameTextBox As TextBox = DirectCast(CreateUserWizardStep1.ContentTemplateContainer.FindControl("UserName"), TextBox)
Roles.AddUserToRole(UserNameTextBox.Text, "User")
End Sub
но это выдает мне ошибку
«Ошибка 12 Имя ‘CreateUserWizardStep1’ не объявлено».
Ответ №1:
Сначала вам придется использовать FindControl()
LoginView для ссылки CreateUserWizardStep1
.
Dim CreateUserWizardStep1 As CreateUserWizard =
DirectCast(LoginView4.FindControl("CreateUserWizard1"), CreateUserWizard)
и тогда вы можете сделать
If CreateUserWizardStep1 IsNot Nothing
Dim UserNameTextBox As TextBox = DirectCast(CreateUserWizardStep1.ContentTemplateContainer.FindControl("UserName"), TextBox)
Roles.AddUserToRole(UserNameTextBox.Text, "User")
End If