У меня была похожая проблема, и этот пост помог мне понять мои ошибки:
Элемент управления сценария 'ControlName' не зарегистрированный элемент управления сценария
Итак, вы здесь, потому что получили следующую ошибку:
Элемент управления сценарием 'ControlName' не является зарегистрированным элементом управления сценарием.Элементы управления сценариями должны быть зарегистрированы с помощью RegisterScriptControl () перед вызовом RegisterScriptDescriptors ().
Имя параметра: scriptControl
Я сам довольно много гуглил по этому вопросу, и по сети есть много решений.к сожалению, это все очень конкретные решения сценария.Некоторые люди получают свои ответы, а другие, как и я, не получают.
Ответ:
Вы изменяете видимость элемента управления на неправильной стадиижизненный цикл страницы.
Описание:
Если вы изменяете видимость элемента управления, вы всегда должны делать это во время или перед событием PreRender.Если вы сделаете это после (то есть в обработчике End асинхронной задачи или во время PreRenderComplete), вы можете столкнуться с этой проблемой.
Это не проблема для простых элементов управления, таких как кнопки или текстовые поля.Но это отрицательно скажется на элементах управления, таких как сетки.
Когда я говорю, что изменяю видимость, это может быть одна из следующих ситуаций
- Имея видимый = ложный элемент управления на ранних этапах жизненного цикла и изменяясь на видимый = true во время конечного обработчика или PreRenderComplete
- Изменение выбранного представления MultiView во время конечного обработчика или PreRenderComplete
- Любая другая ситуация, когда элемент управления может быть невидимым на более ранних этапах жизненного цикла страницы, которые настроены для отображения на последнем этапе
Причина:
Чисто, насколько я понимаю, ASP.NET не отображает сценарии или HTML, связанные с элементом управления, если он не показывается пользователю.Регистрация элементов управления сценарием, которая упоминается в исключении, по-видимому, происходит на ранней стадии жизненного цикла.если элемент управления не виден на этом этапе, эта регистрация пропускается для этого элемента управления.Если он сделан видимым на более позднем этапе, вы получаете контроль без некоторых соответствующих сценариев.
В любом случае, это то, что я понял.Я могу ошибатьсяНо если вы столкнетесь с этой проблемой, это определенно поможет вам проверить элементы управления, которые изменяют видимость в разные моменты жизненного цикла.Сделав это, вы сможете определить свою конкретную проблему, а затем самостоятельно найти решение.
Надеюсь, эта информация кому-нибудь поможет.
Источник