変数が宣言されていない場合、その保護レベルのためにアクセスできない可能性があります。

私のVBスキルは最高ではなく、この問題で数日間困っています。

Visual Studioに表示されるコントロールのうち、後ろのコードで定義されていないものについては、マウスオーバーするとツールチップのテキストがポップアップします。

![エラー][2]

類似の質問

これは解決策がありませんでした - https://stackoverflow.com/q/21937998/153923

この1つは解決はweb.configにあったことを言った、しかし私は理解しないどこにまたは方法 - https://stackoverflow.com/q/20386011/153923

これはスペルミスの単語がありました - https://stackoverflow.com/q/12483579/153923

更新 - 私の問題を解決する手がかりになるかもしれない、もう一つの問題があります。

私のTools.vbモジュールで、私はLDAPにアクセスするためのクラスを持っています。

ツールクラスの名前空間は、login.aspx.vb コードで与えられていますが、ログインコードはツールクラスを認識しません。

ツール不足]4です。

質問へのコメント (12)
ソリューション

エラーの最初の部分によく注意してください: "variable is not declared"

2番目の部分は無視してください: "保護レベルのためにアクセスできない可能性があります" 。 これは赤信号です。

いくつかの質問があります...(答えはあなたが投稿した画像の中にあるかもしれませんが、私はそれを大きくすることができませんし、私の目はその小さな文字を読むことができません...。この老眼でも読めるような形でコードを掲載してもらえないでしょうか? 全体像を把握するのが難しいです。 特に、あなたのページディレクティブは怪しいです。)

1stReasonTypesがリストボックスであることは分かっていますが、なぜかどのリストボックスなのかが分からないような気がします。 これが、私があなたのページディレクティブを見たいと思う理由です。

しかし、プライベートメソッドFormRefresh()をどのように呼び出しているのでしょうか? イベントハンドラではないので、このコードの後ろでは適切に処理されないフォームのリストボックスを参照しようとしているのではないかと思われます。

コントロールの1stReasonTypesを見つける必要があるかもしれません。 リストボックスは、次のようなものの中に入れてみてください。

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

そして、FormRefresh()で、...

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

あるいは、div の代わりに既存のコントロール、オブジェクト、ページを使用します。 FindControl の詳細はこちら。 http://msdn.microsoft.com/en-us/library/486wc64h(v=vs.110).aspx

しかし、どう考えても、1stReasonTypes がどのリストボックスであるべきかがわからないという、奇妙な現象が起きています。

解説 (6)

私も同じような問題に悩まされました。ランタイムではアクセスできないが、エディタでは完全に合法なSubがあるというものです。 この問題は、Frameworkを4.5.1から4.5へ変更することで解決しました。 私のIISは4.5バージョンしか持っていなかったようです。

:)

解説 (2)

私の記憶が正しければ、これはコントロールのデフォルトのプロパティです。

指定されたコントロールを含むadmin_reasonsのデザインビューで、コントロールのModifiersプロパティをPublicまたはInternalに変更してみてください。

解説 (2)

これにも同様の問題がありました。 ソリューション内のすべてのプロジェクトを同じ.NET Framework 4クライアントプロファイルにし、ソリューション全体を再構築することで解決しました。

解説 (0)

App_Codeフォルダーの名前を変更した後、このエラーを簡単に取得しました。 実際、誤ってフォルダ全体をApp_dataフォルダにドラッグしました。 VS 2015は、何がうまくいかなかったかを見つけるのが難しいと文句を言わなかった。

解説 (0)

Visual Studioのバージョン間を移動するときに、クラスをラップする名前空間についてコメントする必要があることがわかりました。

'Namespace FormsAuth。

名前空間を終了します。

また、名前空間をコメント解除する必要があります。

これは、他の開発者が異なるバージョンのVSを使用して同じソリューションを編集したり、ソリューションを別の場所に移動(コピー)したりしたときに何度か起こりました。

解説 (0)