Мне нужно настроить свойство пользовательского элемента управления, который я написал, в частности, перед тем, как элемент управления вызовет OnInit
. Если я присваиваю его как часть файла ASPX, он, естественно, работает, но если я вместо этого перенесу присваивание в другие части кода, он выдаст ошибку из-за пустого и недопустимого значения. Ниже показано, как это выглядит при работе на странице ASPX.
<MyCustomControls:SingleCascadeLookupMulti FilterString="Seventh" FilterByStatus="true" ControlMode="New" FieldName="Speciality" EnableViewState="true" ID="sclmDocuments" runat="server" TemplateName="SingleCascadeLookupMulti" />
Это свойство FilterString
, представляющее собой простую строку. Следует также отметить, что свойство FieldName
(унаследованное от базового класса элемента управления "BaseFieldControl") также будет выдавать ошибку, если оно не инициализировано, но если я установлю FieldName
в коде, стоящем за методом OnInit
, это работает правильно. FilterString
не так, на самом деле он не будет назначен. Итак, я знаю, что некоторые методы для определенных свойств будут работать для установки значения свойства, но это не всегда будет работать. Я также попытался поместить его в OnPreInit, но безрезультатно.
Я использую подход динамического назначения, потому что функциональность этой страницы должна быть реплицирована для ряда различных списков, а свойства FilterString
и FieldName
будут отличаться в каждом случае. Вместо того, чтобы писать полдюжины практически одинаковых aspx-страниц с одинаковым кодом, но отличающимися только тем, что представляют собой эти два свойства, я подумал, что было бы разумнее использовать строку запроса страницы и некоторые производные параметры для динамической установки этих свойств. Как таковые, какие методы доступны для выполнения этой задачи?