私はVB.NETの初心者ですので、私の愚かさに優しくしてください;-)なぜ私は「宣言されていません」という結果になります。保護レベルのためにアクセスできない可能性があります。 IF THEN ELSEブロックのELSE上でのみ使用できますか?
私は単純なIF THEN ELSEブロックを使ってクエリーストリングの存在をチェックし、それが設定されているかどうかを確認します。考え方は、クエリーストリングがなければ、フォームは空であり、人々は新しいフォームを入力できるということです。クエリーストリングが存在し、それが空白でない場合、フォームデータのdbクエリーが発生し、フィールドにデータが入力され、ユーザーがフォームを更新できます。
ここに私のコードブロックがあります。
Dim strQueryStingCheck As String
If Not (Request.QueryString("pid") Is Nothing) Then ' is there a querystring?
If Request.QueryString("pid").ToString <> "" Then ' does it have a value?
strQueryStingCheck = "u"
Session("travelauthno") = Request.QueryString("pid")
Else
strQueryStringCheck = "e"
Session("travelauthno") = ""
End If
End If
私は「変数が宣言されていない。それは、その保護レベルにアクセスできないことがあり、」取得していONLYエルスコードブロックにstrQueryStringCheckのための - 私は「E」にstrQueryStringCheckを設定したときにそれがあります。私はそれを理解することはできません。
他の投稿、特にthis oneを見ました。それは助けになった。私はエラーを消すことができますが、なぜ私は最初にそれを取得しているのか理解したい。サブルーチン内で宣言しました。私が何か間違っていると、IF THEN ELSEブロックの両方のブロックにエラーを投げてはいけませんか? strQueryStringCheckを "u"に設定しても、それはありません。なぜELSEブロックだけにあるのですか?
PS私はVisual Studio 2010でコーディングしています。また、単純なIF ... THEN ... ELSEを入れ子にしても問題は解決しません。
うん、ここでは他の誰かちょうどそれに気づいた。非常に恥ずかしい! – FatGUyFromQueens
@FatGUyFromQueensこれで問題が解決した場合。それを答えとして受け入れるようにしてください。 –