Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Недопустимый для имени знак "$"


Автор: lankin 16.12.2009, 13:12
Вот получил такой System.ArgumentException:
Цитата

Недопустимый для имени знак в "ctl01$ctl00$body$body$ctl01$tbSearch". Знак "$", шестнадцатеричное значение 0x24, не может использоваться в именах.


Это он, как я понимаю, ругается на то, что у контрола <asp:textbox /> есть Name который, благодаря ViewState, превращается из "tbSearch" вот в такое длинное выражение. Тогда почему, если асп.нет сам его преобразовывает в такое значение, он же и ругается потом на это?

Автор: RWander 16.12.2009, 19:34
Цитата(lankin @  16.12.2009,  15:12 Найти цитируемый пост)
Тогда почему, если асп.нет сам его преобразовывает в такое значение, он же и ругается потом на это? 


как вы пытаетесь использовать "ctl01$ctl00$body$body$ctl01$tbSearch" в своем приложении?

это имя генерируется для клиента, к нему можно получить доступ только на клиентской стороне через JavaScript, на серверной стороне, нужно обращаться к контролу по его ID-шнику, т.е. tbSearch

Автор: lankin 17.12.2009, 06:24
к сожалению, клиентское представление Name нигде не используется, иначе я бы его отловил уже.

Автор: lankin 17.12.2009, 08:31
Видимо кто-то использует UniqueID, а не ID...блин

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)