переменная не объявлена, она может быть недоступна из-за уровня защиты

мои навыки VB не самые лучшие, и эта проблема поставила меня в тупик в течение нескольких дней.

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

popup

errors

screenshot

похожие вопросы:

У этого не было решения - 'var_name' не объявлено. Он может быть недоступен из-за его защиты уровень. в режиме отладки

этот сказал, что решение было в интернете.config, но я не понимаю, где и как - BC30451:' MailValidation ' не объявлен. Он может быть недоступен из-за его уровня защиты

Это слово было написано с ошибкой -vb.net ошибка: недоступно из-за его уровня защиты

обновление - вот еще одна проблема, которая может быть ключом к тому, что мои проблемы-это:

в моем инструменты.vb module, у меня есть класс для доступа к LDAP.

пространство имен для класса tools указано в логин.аспн.vb код, но код входа в систему не распознает класс tools.

missing tools

6 ответов


обратите пристальное внимание на первую часть ошибки: "переменная не объявлена"

игнорировать вторую часть: "он может быть недоступен из-за его уровня защиты". Это отвлекающий маневр.

некоторые вопросы... (ответы могут быть на том изображении, которое вы опубликовали, но я не могу сделать его больше, и мои глаза не читают этот маленький шрифт... Есть ли шанс, что вы можете опубликовать код так, чтобы эти старые глаза могли его прочитать? Это затрудняет понимание общей картины. В особенно мне подозрительны ваши указания страницы.)

мы знаем, что 1stReasonTypes-это список, но по какой-то причине кажется, что мы не знаем, какой список. Вот почему я хочу видеть ваши директивы страницы.

но также, как вы вызываете частный метод FormRefresh ()? Это не обработчик событий, что заставляет меня задаться вопросом, пытаетесь ли вы ссылаться на listbox в форме, которая не обрабатывается должным образом в этом коде.

возможно, вам нужно найти контроль 1stReasonTypes. Попробуйте, может быть, положить список внутри что-то вроде

<div id="MyFormDiv" runat="server">.....</div>

затем в FormRefresh () выполните a...

Dim 1stReasonTypesNew As listbox = MyFormDiv.FindControl("1stReasonTypes")

или использовать существующий элемент управления, объект или страницу вместо div. Подробнее о FindControl: http://msdn.microsoft.com/en-us/library/486wc64h (v=против 110).aspx

но независимо от того, как вы его нарезаете, здесь происходит что-то фанки, так что 1stReasonTypes не знает, какой точный список он должен быть.


Я столкнулся с аналогичной проблемой, с суб, недоступным во время выполнения, но абсолютно законным в Редакторе. Это было решено путем изменения структуры назначения с 4.5.1 на 4.5. Похоже, что у моего IIS была только версия 4.5.

:)


Если я правильно помню, это свойство по умолчанию для элементов управления.

вы можете попробовать, перейдя в Design-View для admin_reasons, который содержит указанный элемент управления, а затем изменить свойство модификаторов элемента управления на Public или Internal.


У меня была аналогичная проблема. Я решил это, сделав все проекты в моем решении целевым для того же профиля клиента .NET Framework 4, а затем перестроив все решение.


Я получил эту ошибку сразу после переименования папки app_code. На самом деле, я случайно перетащил всю папку в папку App_Data. VS 2015 не жаловался, что было трудно определить, что пошло не так.


Я обнаружил, что вы должны прокомментировать пространство имен, обертывающее класс во время перемещения между версиями Visual Studio:

'Пространство Имен FormsAuth

' End Namespace

и в других случаях я должен раскомментировать пространство имен.

Это произошло со мной несколько раз, когда другие разработчики редактировали одно и то же решение, используя другую версию VS и/или я переместил (скопировал) решение в другое место