Переопределить ScriptControl или BaseValidator для асинхронного управления ASP.NET средство проверки?

StackOverflow https://stackoverflow.com/questions/50330

Вопрос

Я планирую разработать серверный элемент управления ASP.NET для обеспечения асинхронной проверки доступности имени пользователя при регистрации новых пользователей.Элемент управления позволит разработчику указать его на текстовое поле "имя пользователя", и он укажет, доступно ли имя пользователя.Нравится этот пример, но без неуклюжей панели обновления.

Одно дизайнерское решение, которое вызывает у меня головную боль, заключается в том, следует ли наследовать от ScriptControl ( Скриптоконтроль ) или Базовый калибровщик.

Реализуя его как ScriptControl ( Скриптоконтроль ), я могу упростить работу с клиентской частью и легко локализовать ее с помощью resx.

Тем не менее, я хочу убедиться, что валидатор функционирует должным образом по отношению к Странице.Является действительным.Единственный известный мне способ сделать это - переопределить Базовый калибровщик и внедрять EvaluateIsValid().

Итак, мой вопрос в том, как бы вы предложили структурировать этот элемент управления?Является ли наследование от BaseValidator лучшим (единственным) способом получить правильную часть проверки, или я могу сделать это каким-то другим способом?

Это было полезно?

Решение

Вы должны быть в состоянии сделать и то, и другое, если вы реализуете Iscriptконтроль интерфейс, также являющийся производным от BaseValidator:

public class YourControl : IScriptControl, BaseValidator

Реализация интерфейса IScriptControl означает, что ваш элемент управления также должен иметь методы GetScriptReferences и GetScriptDescriptors.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top