Настройка внешнего вида элементов управления входом ASP.NET
Обновлен: Ноябрь 2007
Чтобы настроить содержимое определенных элементов управления входом ASP.NET, можно задать шаблоны элементов управления, добавить собственные, а также заменить или удалить необязательные элементы управления пользовательского интерфейса.
Также для этих целей можно использовать свойства стиля, темы и обложки элементов управления входом. Дополнительные сведения см. в описании членов соответствующих элементов управления, а также в разделе Общие сведения о темах и обложках ASP.NET.
Настраиваемые элементы управления входом
Можно настроить содержимое любого элемента управления входом, для которого допускается замена существующего элемента пользовательского интерфейса шаблоном. К таким элементам управления относятся Login, PasswordRecovery, CreateUserWizard и ChangePassword. В следующей таблице перечислены доступные шаблоны настройки элементов управления.
Login
Шаблон LayoutTemplate предназначен для выбора различных элементов управления, обеспечивающих извлечение имени пользователя и пароля, которые используются для входа.PasswordRecovery
Шаблон UserNameTemplate предназначен для выбора различных элементов управления, обеспечивающих извлечение имени пользователя, для которого выполняется восстановление пароля.Шаблон QuestionTemplate предназначен для выбора различных элементов управления, обеспечивающих извлечение вопроса для изменения пароля (если свойству RequiresQuestionAndAnswer присвоено значение true).
Шаблон SuccessTemplate предназначен для выбора различных элементов управления, отображаемых в случае успешного восстановления пароля пользователя.
CreateUserWizard
Шаблон ContentTemplate для шага CreateUserStep предназначен для выбора различных элементов управления, обеспечивающих извлечение имени пользователя, пароля и других сведений, которые требуются для создания новой учетной записи пользователя.Шаблон ContentTemplate для шага CompleteStep предназначен для выбора различных элементов управления, отображаемых по завершении операции создания учетной записи пользователя.
ChangePassword
Шаблон ChangePasswordTemplate предназначен для выбора различных элементов управления, обеспечивающих извлечение имени, а также текущего и нового пароля для пользователя, изменяющего пароль.Шаблон SuccessTemplate предназначен для выбора различных элементов управления, отображаемых в случае успешного изменения пароля пользователя.
Выбор элементов для шаблонов элементов управления входом
В шаблонах элементов управления входом можно включать дополнительные элементы и кнопки команд, а также заменять существующие элементы собственными.
Замена кнопок команд в шаблоне элемента управления входом
В качестве кнопок команд для шаблона элемента управления входом можно использовать любые элементы управления. Обратите внимание, что для распознавания команды элементом управления входом в элементе команды следует реализовать восходящую маршрутизацию события, которое содержит аргументы, наследуемые от класса CommandEventArgs. Кнопка команды должна задавать значение свойства CommandName класса CommandEventArgs, которое определяет команду, выполняемую элементом управления входом. В следующей таблице перечислены допустимые значения свойства CommandName и связанные с ними шаблоны элементов управления входом.
Login.LayoutTemplate
Login — проверка учетных данных и выполнение входа пользователя.PasswordRecovery.UserNameTemplate
Submit — извлечение имени пользователя, для которого восстанавливается пароль, и продолжение процесса входа.PasswordRecovery.QuestionTemplate
Submit — извлечение вопроса для изменения пароля, используемого для восстановления пароля пользователя.CreateUserWizard.CreateUserStep, CustomNavigationTemplate
CreateUser — извлечение введенных пользователем значений и создание новой учетной записи.Cancel — прекращение операции создания учетной записи пользователя.
CreateUserWizard.CompleteStep, ContentTemplate
Continue — переход на страницу ContinueDestinationPageUrl.ChangePassword.ChangePasswordTemplate
ChangePassword — извлечение введенных пользователем значений и изменение пароля.Cancel — прекращение операции изменения пароля.
ChangePassword.SuccessTemplate
Continue — переход на страницу ContinueDestinationPageUrl.
Замена элементов в шаблоне элемента управления входом
При необходимости можно заменить элементы управления вводом и отображением, используемые несколькими элементами управления входом ASP.NET, в соответствующих шаблонах. В каждом шаблоне содержатся как обязательные, так и необязательные элементы управления. Обязательные и необязательные элементы определяются с помощью свойства ID элемента управления. Если шаблон не содержит обязательный элемент, определенный с помощью свойства ID, или для этого элемента не реализован соответствующий интерфейс, возникает исключение элемента управления входом ASP.NET.
В следующей таблице перечислены шаблоны и соответствующие обязательные элементы управления, определяемые свойством ID.
Login.LayoutTemplate
UserName — имя учетной записи пользователя, для которого выполняется вход. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.Password — пароль пользователя, для которого выполняется вход. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.
RememberMe — значение true или false, определяющее хранение маркера проверки подлинности в постоянном или сеансовом файле cookie соответственно. Этот элемент управления является необязательным и должен реализовывать интерфейс ICheckBoxControl.
FailureText — отображение сообщения об ошибке входа. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.
PasswordRecovery.UserNameTemplate
UserName — имя учетной записи пользователя, для которой выполняется восстановление пароля. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.FailureText — отображение сообщения об ошибке при восстановлении пароля. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.
PasswordRecovery.QuestionTemplate
UserName — отображение имени учетной записи пользователя, для которой выполняется восстановление пароля. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.Question — вопрос для изменения пароля пользователя, для которого выполняется восстановление пароля. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.
Answer — ответ на вопрос для изменения пароля пользователя, для которого выполняется восстановление пароля. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.
FailureText — отображение сообщения об ошибке при восстановлении пароля. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.
CreateUserWizard.CreateUserStep, ContentTemplate
UserName — имя создаваемой учетной записи пользователя. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.Password — пароль создаваемой учетной записи пользователя. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.
ConfirmPassword — значение подтверждения, которое должно совпадать с паролем. Этот элемент управления является необязательным и должен реализовывать интерфейс IEditableTextControl.
Question — вопрос для изменения пароля создаваемой учетной записи пользователя. Этот элемент управления является обязательным, если свойству RequiresQuestionAndAnswer присвоено значение true, и должен реализовывать интерфейс IEditableTextControl.
Answer — ответ на вопрос для изменения пароля создаваемой учетной записи пользователя. Этот элемент управления является обязательным, если свойству RequiresQuestionAndAnswer присвоено значение true, и должен реализовывать интерфейс IEditableTextControl.
Email — адрес электронной почты для создаваемой учетной записи пользователя. Этот элемент управления является обязательным, если свойству RequiresUniqueEmail присвоено значение true, и должен реализовывать интерфейс IEditableTextControl.
ErrorMessage — отображение сообщения об ошибке при создании учетной записи пользователя. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.
ChangePassword.ChangePasswordTemplate
UserName — имя создаваемой учетной записи пользователя. Этот элемент управления является обязательным, если свойству DisplayUserName присвоено значение true, и должен реализовывать интерфейс IEditableTextControl.CurrentPassword — текущий пароль учетной записи пользователя. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.
NewPassword — новый пароль учетной записи пользователя. Этот элемент управления является обязательным и должен реализовывать интерфейс IEditableTextControl.
ConfirmPassword — значение подтверждения, которое должно совпадать с новым паролем. Этот элемент управления является необязательным и должен реализовывать интерфейс IEditableTextControl.
FailureText — отображение сообщения об ошибке при создании учетной записи пользователя. Этот элемент управления является необязательным и должен реализовывать интерфейс ITextControl.
Создание ссылки на элемент управления в шаблоне элемента управления входом
Чтобы создать ссылку на элемент управление в шаблоне элемента управления входом, можно вызвать метод FindControl контейнера шаблона. В следующей таблице перечислены шаблоны и связанные с ними свойства контейнера.
Например, элемент управления DropDownList с идентификатором TimeZoneList включается в шаблон ContentTemplate для шага CreateUserStep элемента управления CreateUserWizard. Чтобы создать ссылку на элемент управления DropDownList, следует вызвать метод FindControl контейнера ContentTemplateContainer свойства CreateUserStep, как показано в следующем примере.
Protected Sub CreateUserWizard1_CreatedUser(sender As Object, e As EventArgs)
Dim timeZoneList As DropDownList = _
CType(CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("TimeZoneList"), DropDownList)
End Sub
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
DropDownList timeZoneList =
(DropDownList)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("TimeZoneList");
}
См. также
Основные понятия
Настройка приложения ASP.NET для использования членства