Отсутствует поддержка создания обработчика событий

Я разрабатываю с помощью Visual Studio 2017 веб-приложение WebForm Asp.Net.

Через пару дней автозаполнение обработчика событий больше не работает:

Раньше, после добавления элемента управления на страницу, я мог ввести имя события, например По щелчку, а затем, набрав знак равно Visual studio, показывает мне раскрывающийся список с "создать новое..." и списком совместимых обработчики события.

Функция «создать новый ...» очень важна для меня, поскольку я не всегда знаю сигнатуру метода, и в целом мне не нужно писать ее вручную.

Все эти задачи выполнялись в исходном представлении страницы aspx, а метод обработчика событий был автоматически вставлен Visual Studio в файл aspx.cs.

Например, на кнопке управления, выбрав элемент "Создать новое..." в предложениях обработчиков событий, VS автоматически создаст следующий код в aspx.cs:

protected void BtnDoSomething_Click(object sender, EventArgs e)
{

}

Теперь выпадающие подсказки больше не отображаются.

Проект успешно компилируется. Я попытался перезапустить проект, перезапустить VS, перезагрузить компьютер, открыть старый проект ... ничего не сработало.

Что я могу сделать, чтобы вернуть его?

Была такая же проблема с WPF; Когда у меня появляется ошибка или нерешенное предупреждение, в том же файле intellisense не работает.

Bassem Akl 22.03.2018 14:41

На какой версии VS 2017 вы работаете? Проверьте это: developercommunity.visualstudio.com/content/problem/162953/…

IrishChieftain 22.03.2018 14:43

Но у меня нет ошибок или предупреждений в файле / проекте. Я использую 15.5.2, нет, я не могу поверить, что здесь есть ошибка ... Я больше не могу разрабатывать без нее, они должны найти решение в ближайшие часы !!

Giox 22.03.2018 14:46

В новинках всегда есть баги. Я все еще использую VS 2015 и остаюсь на нем до тех пор, пока не войдет в цикл обновления версии 2017 года. Перейдите на сайт MS Connect и проверьте статус этой конкретной проблемы - возможно, есть исправление. В любом случае, это не «шоу-стоп».

IrishChieftain 22.03.2018 14:51

Ошибка / предупреждение может быть на странице .aspx.cs / .aspx. Проверьте оба! Вы можете создать новый проект и проверить intellisense до / после добавления элемента управления (или ваших частей по очереди). В конце вы найдете то, что зависает в intellisense.

Bassem Akl 22.03.2018 15:01

@BassemAkl вообще нет ошибок / предупреждений во всем проекте. Как я могу отладить intellisense?

Giox 22.03.2018 15:09

Просто погуглите подпись нужного обработчика событий?

IrishChieftain 22.03.2018 16:02

@IrishChieftain Ты шутишь ??! ;) У меня крайние сроки по проектам, и я не могу терять секунды / минуты на поиск подписей asp.net и сторонних элементов управления!

Giox 22.03.2018 16:10

Это займет около десяти секунд ... Думаю, вам нужно немного взглянуть на это. Если я не могу вспомнить сигнатуру обработчика, скажем, для события ListView, я могу мгновенно найти ее, выполнив поиск в Google документации MSDN.

IrishChieftain 22.03.2018 16:12

К вашему сведению, Connect удаляется, и теперь они используют «Collaborate». docs.microsoft.com/en-us/collaborate/connect-redirect

IrishChieftain 22.03.2018 19:23
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
10
1 316
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Также обновление Visual Studio до 15.6.3 не решило проблему. Я пробовал также следующее:

  1. Снимите флажок «Разрешить параллельную инициализацию проекта» (Инструменты> Параметры> Проекты и решения> Общие)
  2. Удалите папку .vs в папке проектного решения.
  3. Перезапустите Visual Studio
  4. Отключите все расширения одно за другим и перезапустите VS

Ничего из вышеперечисленного не помогло.

Я заметил, что внутри новой пустой страницы в том же проекте intellisense работает нормально. После некоторой отладки я обнаружил, что атрибут style некоторых элементов на странице вызывал проблему:

<div style = "display:none"></div>

Удаление всех атрибутов стиля со страницы .aspx решило проблему..

При повторном добавлении одного из них функция intellisense перестает работать. На самом деле это не проблема, поскольку я использую стиль только для быстрого и быстрого тестирования, поэтому я избегаю их, но Кто-нибудь знает почему?!?

Я не хочу снова повторять свой комментарий. Но я должен: Проверить стили этих элементов и их базовый / родительский стиль. Конечно, там есть какая-то ошибка, даже если она не отображается в окне ошибки / предупреждения.

Bassem Akl 25.03.2018 07:19

Ну, я запускаю VS2017 15.5.6 и имею ту же проблему с приложением Webforms. Мое обходное решение - временно удалить большую часть кода из разметки (сохранить его в Блокноте), оставив только элементы управления, непосредственно окружающие и включая элемент управления, которому требуется сам обработчик событий, затем добавить обработчик событий, который будет успешным, и добавить удаленный код снова. Хотя в моем коде могут быть некоторые скрытые ошибки, я не могу их найти, и здесь не упоминаются предупреждения или ошибки. Но эта конкретная страница довольно большая: 600 строк в разметке и 1932 строки в коде позади. Разметка содержит около 500 элементов управления.

Редактировать: Я обновился до версии 15.7.3: проблема все еще существует

Спасибо PaulvdElst, если кто-нибудь найдет решение, давайте обновим этот пост!

Giox 15.06.2018 00:47

Я работал с Visual Studio 2017 на Windows Server 2016. Я сделал шаг, чтобы перейти на Windows 10 (я все еще использую Visual Studio 15.7.3). Теперь проблема исчезла: обработчики событий создаются нормально, и IntelliSense (например, расширение обработчика событий создает или выбирает существующий) работает должным образом.

PaulvdElst 20.06.2018 19:45

Проверьте свои

CodeBehind = "yourwebpagename.aspx.cs"

в верхней части страницы.

было бы неплохо, если бы вы добавили снимок экрана или более четко указали на какой странице.

fenixil 29.12.2019 01:00

Другие вопросы по теме