powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Невозможно изменить коллекцию Controls, так как элемент управления...
7 сообщений из 7, страница 1 из 1
Невозможно изменить коллекцию Controls, так как элемент управления...
    #37800794
D_A_S1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
У меня такая вот ситуация.
На сайте есть MasterPage и страница Default.aspx. В Default.aspx у меня используется AJAX CalendarExtender. Все работает нормально.
Как только я попытался скопировать эти две страницы в дочернюю папку сайта, например TestFolder и открыть страницу Default.aspx (www.site.ru/TestFolder/Default.aspx) то у меня выдается вот такая ошибка:
Невозможно изменить коллекцию Controls, так как элемент управления содержит блоки кода (т.е. <% ... %>).

Трассировка стека:
[HttpException (0x80004005): Невозможно изменить коллекцию Controls, так как элемент управления содержит блоки кода (т.е. <% ... %>).]
System.Web.UI.ControlCollection.Add(Control child) +8828175
AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(Control control) in C:\Users\Stephen\Documents\Repos\Superexpert\AjaxControlToolkit\Server\AjaxControlToolkit\ExtenderBase\ScriptObjectBuilder.cs:323
AjaxControlToolkit.ExtenderControlBase.OnLoad(EventArgs e) in C:\Users\Stephen\Documents\Repos\Superexpert\AjaxControlToolkit\Server\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:305
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Control.LoadRecursive() +146
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

При этом, если я убираю со страница Default.aspx CalendarExtender все работает нормально. В чем тут может быть дело? Как исправить такую ситуацию?
...
Рейтинг: 0 / 0
Невозможно изменить коллекцию Controls, так как элемент управления...
    #37800876
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не используй блоки <% %> на странице, у тебя же есть базовый класс страницы, можешь управлять через visible
...
Рейтинг: 0 / 0
Невозможно изменить коллекцию Controls, так как элемент управления...
    #37800892
D_A_S1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я убирал из Default.aspx все блоки <%= %> - ничего не дало.
Что значит " у тебя же есть базовый класс страницы, можешь управлять через visible" - чем управлять?
...
Рейтинг: 0 / 0
Невозможно изменить коллекцию Controls, так как элемент управления...
    #37800906
D_A_S1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все понял. Вопрос решен.
...
Рейтинг: 0 / 0
Невозможно изменить коллекцию Controls, так как элемент управления...
    #37801027
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1Что значит " у тебя же есть базовый класс страницы, можешь управлять через visible" - чем управлять?
Все страницы в конечном счете компилятся в классы с постфиксом aspx, где в качестве родителя будет класс из файла кода, так что не вижу особого смысла вставлять блоки <% %>
...
Рейтинг: 0 / 0
Невозможно изменить коллекцию Controls, так как элемент управления...
    #37801032
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1Все понял. Вопрос решен.
Как решил-то?
Просто кому-то твое решение может помочь в будущем
...
Рейтинг: 0 / 0
Невозможно изменить коллекцию Controls, так как элемент управления...
    #38081372
disek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_A_S1Все понял. Вопрос решен.
А вы, батенька, порядочный эгоист после таких слов. Форум для того и создан, чтобы помогать друг другу. Нашел решение - напиши!

По данному вопросу: была такая же ситуация. Связана с тегами "<%= %>". Добавил эти теги в MasterPage и везде, где использую AjaxToolKit все отвалилось как раз с такой ошибкой.

Решение описано здесь: http://stackoverflow.com/questions/778952/the-controls-collection-cannot-be-modified-because-the-control-contains-code-bl
В кратце процетирую, на всякий случай. Нужно заменить теги "<%= %>" на "<%# %>", а в файле кода добавить в событие onload следующую строку:
Код: c#
1.
2.
3.
4.
protected void Page_Load(object sender, EventArgs e)
{
  Page.Header.DataBind();    
}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Невозможно изменить коллекцию Controls, так как элемент управления...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]