System.ArgumentException: запись с таким же ключом уже существует - c# ClentIDMode - PullRequest
0 голосов
/ 18 марта 2020

При развертывании моего веб-сайта на сервере я обнаружил, что идентификатор некоторого элемента div, используемого на главной странице, изменяется с префиксом "ctl00". Так что пользовательский интерфейс смещается.

При поиске я обнаружил, что необходимо установить ClientIDMode в stati c в файле web.config.

   <pages controlRenderingCompatibilityVersion="4.0" clientIDMode="Static" />

Теперь эта проблема с идентификатором решена. Но при щелчке по строкам вида сетки выдается ошибка

System.ArgumentException: запись с таким же ключом уже существует.

Как ни странно, это исключение вызывает javascript, что я звоню только по нажатию кнопки (не вызывая внутри gridview). Кто-нибудь может объяснить, почему это происходит?

    function Show_Hide_Display() {            
       if (document.getElementById("<%=fade.ClientID%>").style.display == "" || document.getElementById("<%=fade.ClientID%>").style.display == "block") {
             document.getElementById("<%=fade.ClientID%>").style.display = "none";
         }
         else {
             document.getElementById("<%=fade.ClientID%>").style.display = "block";
         }
         return false;
     }

Я нашел эту ссылку . Что говорит, чтобы установить clientIDMode как предсказуемый. Этого достаточно, чтобы решить эту проблему? Или нужно установить отдельный clientIDMode для gridview?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...