asp: репитер генерирует клиентов с помощью специального символа "-" для javascript - PullRequest
1 голос
/ 08 мая 2020

У меня есть элемент управления asp .repeater на моей asp. net странице

enter image description here

Во время отладки я вижу он автоматически генерирует клиент с символом «-», где я не могу его контролировать, но на данный момент это нормально для меня ...

enter image description here

... затем в ItemDataBound я использую элементы управления RequiredFieldValidator, которые наследуют этот идентификатор клиента после того, как я добавляю его в репитер

enter image description here

Теперь проблема в том, что RequiredFieldValidator автоматически добавляет какая-то клиентская переменная JavaScript, использующая этот ClientId, и специальный символ "-" не допускается в javascript, вызывающем синтаксическую ошибку

enter image description here

Это Javascript автоматически генерируется элементом управления RequiredFieldValidator

enter image description here

Как я могу решить эту проблему? насколько я знаю, невозможно установить ClientID по коду, а затем как его исправить?

Ниже я добавляю снимок экрана с индикаторами ошибок в отладчике сценария Chrome

enter image description here

1 Ответ

0 голосов
/ 09 мая 2020

Я решил. В Asp. Net 4.0 больше контроля над ClientID, для моей проблемы я исправил с ID родительского контроля. Действительно, ClientID для дочерних элементов управления автоматически создается на основе идентификатора родительского элемента управления. Для аналогичной проблемы я также нашел другое решение, работающее в ClientIDMode. У вас есть полный контроль над настройкой родительского элемента управления ClienID для ClientMode на stati c и дочерних элементов управления на ClientMode на Predictable. Полезный пост, который я нашел по этому поводу, можно прочитать здесь: https://weblog.west-wind.com/posts/2009/nov/07/clientidmode-in-aspnet-40

...