Я совершенно новичок в VB.NET, поэтому будьте осторожны с моей глупостью; -)
У меня есть простой блок IF THEN ELSE, который проверяет наличие строки запроса и затем проверяет, является ли оназадавать.Идея состоит в том, что если нет строки запроса, форма пуста, и люди могут ввести новую форму.Если есть строка запроса, и она не пуста, выполняется запрос базы данных для данных формы, поля заполняются, и пользователь может обновить форму.
, так что вот мой блок кода.
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
Я получаю «Переменная не объявлена; она может быть недоступна из-за своего уровня защиты» для strQueryStringCheck ТОЛЬКО в блоке кода Else, то есть когда я устанавливаю strQueryStringCheck в «e».Я не могу понять это.
Я смотрел другие посты, в частности этот .и это было полезно.Я могу устранить ошибку, но я хочу понять, почему я получаю ее в первую очередь.Я объявил это в подпрограмме.И если я делал что-то не так, разве это не должно вызывать ошибку в ОБАХ блоках блока ЕСЛИ-ТО?Это не когда я устанавливаю strQueryStringCheck в «u».Почему только в блоке ELSE?
PS Я кодирую в Visual Studio 2010. Кроме того, если я сделаю это простым IF ... THEN ... ELSE без вложений, проблема все еще остается.