В ASP неинициализированная переменная сеанса Empty. Я знаю, что правильный способ проверить значение сеанса, и удалить значение, заключается в следующем:ASP-переменные сеанса: «То же, что и IsEmpty?
IF NOT IsEmpty(Session("myVar")) THEN
' Go ahead and use Session("myVar")
...
' Now if we're all done with myVar then remove it:
Session.Contents.Remove("myVar")
END IF
Я унаследовал кодовую где приложения и переменные сессии, как правило, набор = ""
после использования, и все тесты для значения имеют вид (Sessions("myVar") = "")
. Этот тест появляется, чтобы работать, когда переменная Session не была объявлена ... или, может быть, она просто работает от немой удачи.
Можно ли использовать сравнение с пустой строкой для проверки переменной сеанса? I.e., является следующим «практически столь же хорошим», как и правильный метод, показанный выше?
IF Session("myVar") <> "" THEN
' Go ahead and use Session("myVar")
...
' Now if we're all done with myVar then blank it:
Session("myVar") = ""
END IF
Или я должен реорганизовать кодовую так, что:
- Все тесты, чтобы определить, был ли установлен переменная Session имеют вид
IsEmpty(Session("myVar"))
- Все переменные сессии являются
Remove
d и не set= ""
?
Я склонен избегать использования 'IsEmpty()' и выбрать вместо этого для 'Len (значение & "")> 0 '. – Lankymart
@ Lankymart - Да, я вижу много «значение &» «для защиты от случаев, когда« значение »может быть неопределенным. – feetwet