Должен быть указан атрибут свойства элемента управления сервера ASP.NET - PullRequest
4 голосов
/ 11 марта 2011

У меня есть пользовательский серверный элемент управления ASP.NET CustomControl с атрибутом свойства Path.

Если Path не указано явно, я хочу, чтобы было выдано исключение.

Например,

<myControls:CustomControl Path="somedirectory/someotherdirectory/somefile.ext" runat="server" />

должен скомпилироваться, а

<myControls:CustomControl runat="server" /> должен выдать исключение.

Я понимаю, что могу сделать это в получателе свойства Path, но есть ли какой-то атрибут, который требует этого?

Обновление

Существует ли какой-либо механизм для проверки значений атрибутов свойств, кроме использования в методах получения свойств выделенного кода?

Ответы [ 4 ]

7 голосов
/ 11 марта 2011

Вы можете проверить это в событии init пользовательского элемента управления и выдать исключение.

Обновить

Есть;Проверьте это в событии init.В качестве инициализации элемента управления вызывается после события инициализации хоста (страницы или пользовательского элемента управления).Таким образом, вы можете выдать исключение, если оно пустое или пустое

1 голос
/ 11 марта 2011

Я не думаю, что это должна быть проверка времени компиляции.

В конце концов, значение свойства может быть указано в коде, заданном во время page_load или подобного события.

0 голосов
/ 11 марта 2011

Нет, нет способа заставить каркас страницы сделать это.Вы должны сделать это в своем коде во время выполнения и вызвать исключение, если значение не было предоставлено.В противном случае мы бы никогда не столкнулись с ошибкой "Дерьмо, я забыл runat = server part":)

0 голосов
/ 11 марта 2011

Нет атрибута, который требует этого.Лучшее место для этого - метод получения свойства Path.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...