codebehind не может ссылаться на элементы управления страницей - PullRequest
2 голосов
/ 03 августа 2009

У меня есть элементы управления в файле ascx, но я не вижу их в intellisense в файле .cs. До этого все работало хорошо.

Я вижу имена элементов управления в файле designer.cs.

Я удалил временные файлы Asp.net в папке AppData, но все еще не работает. Другие пользовательские файлы управления в приложении могут ссылаться на его элементы управления страницей. В чем здесь проблема? Я использую VS2008.

Ответы [ 4 ]

5 голосов
/ 03 августа 2009

Посмотрите на верхнюю строку страницы .ascx и проверьте значение Inherits= и убедитесь, что он имеет правильный namespace.class, соответствующий вашему коду. Например, если ваше пространство имен ProjectNamespace и ваш класс управления MyControl, тогда оно должно быть ProjectNamespace.MyControl. Это может привести к несинхронизации, если вы переименовали файл ascx и т. Д., И вызвать такой тип проблемы.

2 голосов
/ 26 октября 2012

Это происходит со мной каждый раз, когда я копирую пользовательский элемент управления из одного проекта в другой. Разрывается связь между ascx и code-behind. Это решение утомительно, но оно решает проблему:

  1. Создать новый пользовательский элемент управления. Visual Studio правильно подключит файл ascx к файлу ascx.vb.

  2. Скопируйте код ascx и vb из исходного элемента управления в новый.

  3. Удалить исходный элемент управления.

  4. Теперь у вас есть рабочий элемент управления, но у него другое имя.

  5. Если важно сохранить имя исходного элемента управления, повторите весь процесс еще раз и скопируйте второй элемент управления в третий с правильным именем.

  6. Напишите в Microsoft и попросите их прекратить добавлять ненужные нам прибамбасы и исправить основные вещи!

1 голос
/ 04 августа 2009

Я только что понял это для моей ситуации: в параметрах Page файла .aspx параметр 'Codefile' указывает на имя файла: 'LabEdit.aspx.cs'. Он должен был указывать путь: "~ / WOPages / LabEdit.aspx.cs". Я знаю, что не перемещал кодовый файл или файл подкачки, так что это может быть проблема с VS2008

0 голосов
/ 04 августа 2009

Я решил проблему, я удалил и переустановил VS2008, и она решена.

...