переменная не объявлена, она может быть недоступна из-за уровня защиты
мои навыки VB не самые лучшие, и эта проблема поставила меня в тупик в течение нескольких дней.
в списке элементов управления, показанных в Visual Studio, которые не определены в коде позади, я могу "наведите указатель мыши" на них, и текст всплывающей подсказки.
похожие вопросы:
У этого не было решения - 'var_name' не объявлено. Он может быть недоступен из-за его защиты уровень. в режиме отладки
этот сказал, что решение было в интернете.config, но я не понимаю, где и как - BC30451:' MailValidation ' не объявлен. Он может быть недоступен из-за его уровня защиты
Это слово было написано с ошибкой -vb.net ошибка: недоступно из-за его уровня защиты
обновление - вот еще одна проблема, которая может быть ключом к тому, что мои проблемы-это:
в моем инструменты.vb module, у меня есть класс для доступа к LDAP.
пространство имен для класса tools указано в логин.аспн.vb код, но код входа в систему не распознает класс 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 и/или я переместил (скопировал) решение в другое место