В сценарии VB вам не нужно определять переменные или явно определять их типы, как в других языках сценариев. Переменная существует в первый раз, когда вы ее используете. Однако эта функция делает ваш код широко доступным в машинописном виде. Если вы неправильно определите имя переменной в своем коде, будет создана новая переменная. Ваш скрипт может работать неправильно, и вы можете не знать об ошибке.
%<%Dim IntUserID%>%
IntUserID теперь доступен. В качестве еще одной подстраховки используйте Option Explicit. Если вы включите Option Explicit, вы будете выдавать сигнал ошибки каждый раз, когда используете переменную. Это звучит утомительно, но это может дать вам некоторые подсказки, когда в вашем сценарии возникает ошибка, иначе вам придется приложить немало усилий, чтобы выяснить, где ошибка.
Чтобы использовать Option Explicit, поместите в первую строку вашего скрипта следующее:
<% Option Explicit %>
Если вы хотите увидеть, что произойдет, если вы забудете определить переменную, вы можете запустить этот код:
<% Option Explicit %>
<:% strName = Request.Form("Name") %>
Поскольку переменная strName (Dim strName) не определена, вы увидите следующие ошибки:
Ошибка выполнения Microsoft VBScript '800a01f4'
Переменная не определена: 'strName'
/e/oe-test.asp, строка 10
использует Len
Вы можете использовать функцию Len(string) для определения длины текстовой строки:
<%
IntString = "Это простое предложение."
IntStringLength = Len(IntString)
Response.Write "В предложении, показанном ниже, есть символы " & IntStringLength & " (включая пробелы):"
Response.Write "" & IntString & ""
%>
Если вам интересно, как Len работает вручную, подумайте о форме, в которой вы просите пользователей ввести пятизначный код или трехзначный PIN-код. Используя Len, вы подтверждаете, что ввели достаточно чисел.
Использовать обрезку
Обрезка струн — это то, что вам нужно сделать в самом начале. Во многих случаях строка имеет лишний пробел в начале или конце, и если вы не сбалансируете его, вы можете беспокоиться о потере времени на эти переменные.
<% strName = Request.Form("Имя")
strCheckName = "Эми Коуэн"
Если strName = strCheckName THEN
Ответ. Напишите «Успех! Имена совпадают».
Еще
Ответ. Напишите «Извините. Имена не совпадают».
Конец, если
%>
Если значение strName — «Эми Коуэн», потому что именно так я ввожу его в поле формы, а затем проверяю, одинаковы ли две переменные, это не так, потому что «Эми Коуэн» — это не «Эми Коуэн». Аналогично
, если вы введете Имя в URL-адрес:
<% Response.Write " & objRec("Имя") & "">Ваш сайт" %>
Если какая-либо часть записи в поле Имя имеет лишнее пространство, вы быстро запустите на вопрос об ошибках.
Вы можете изменить целую строку процессов для выполнения слева или справа:
<% strComments = Request.Form("Комментарии")
стрКомментс = Обрезать(стрКомментарии)
%>
Предположим, что пользователь ввел:
«У меня проблемы с установкой загруженного мной программного обеспечения».
Приведенный выше оператор обрезки разобьет дополнительное пространство, оставив только следующее содержимое:
«У меня проблемы с установкой загруженного мной программного обеспечения». Теперь
вернемся к нашему примеру «Эми Коуэн». Если я добавлю следующий скрипт, у нас все получится:
strName = Trim(strName)
Чтобы обрезать справа, используйте Rtrim(string). Чтобы обрезать слева, используйте Ltrim( string ).Conversion
Когда вы начнете использовать язык, похожий на VB, вы допустите несколько простых ошибок, например, при сравнении целого числа 512 со строкой 512. Если вы понимаете, что предыдущий 512 и следующий 512 разные, можно задуматься, почему данный скрипт не работает должным образом.
Представьте, что вы передаете идентификатор файла сценарию ASP с помощью Request.QueryString и проверяете, является ли этот идентификатор файлом тем, который пользователь хочет редактировать. Вам необходимо ввести некоторую информацию для записей из базы данных и отобразить ее на экране. Идентификаторы в базе данных аналогичны целым числам, особенно если вы используете в этой области функцию AutoNumber. Введенный вами идентификатор на самом деле является строкой. Следовательно, эти два значения никогда не смогут совпадать, если вы не приведете их к одному и тому же типу.
Запрос.QueryString:
Используя FileSystemObject, вы можете проверить существование текста (например, *.html, *.asp, *.inc., *.gif) или каталога. Если файл существует, вы можете захотеть, чтобы произошла последовательность событий. Если файл не существует, вы можете захотеть, чтобы произошли другие события, используйте следующий код: <%
sPath="/profiles/" & strFileName & ".asp"
sFile=Server.MapPath(sPath)
Set fe=Server.CreateObject("Scripting.FileSystemObject")
если fe.FileExists(sFile) ТОГДА
'сделай что-нибудь
Ответ.Напишите «Да! Я нашел это!».
Response.Write "Вы можете получить доступ к этому файлу "
Ответ. Напишите «<A HREF=""" & sPath & """>Нажмите здесь</A>".
еще
'сделай что-нибудь
Ответ.Напишите «Извините. Запрошенный файл не существует».
конец, если
%>
Чтобы просто протестировать файл, добавьте скрипт вверху:
strFileName = "name"
' Сначала присвойте этой переменной имя имеющегося у вас файла.
' strFileName содержит только имя, а не расширение или путь.
' Убедитесь, что вы изменили путь для sPath на виртуальный каталог, в котором находится ваш файл
«Запустите сценарий.
' Затем вернитесь и измените переменную strFileName на имя файла.
' у вас НЕТ.
' Запустите скрипт.
Изменение введенного кода на целое число очень просто и облегчит вашу дальнейшую работу. Пример формата:
<%.
dim intUserID intUserID = Request.QueryString("userID")
intUserID = CInt(intUserID)
' intUserID теперь является целым числом.
%>
Вы также можете комментировать свой код ASP и использовать его.
Код комментария
В ASP сценарий выполняется до его отправки в браузер, поэтому вам не нужно использовать обычные теги комментариев HTML, чтобы скрыть сценарий от старых браузеров. Фактически, ваш скрипт не будет отображаться в исходном HTML-коде, поскольку этот исходный код передается браузером, поэтому старые браузеры не будут внезапно выводить какой-либо код на экран.
Вы можете захотеть комментировать свои сценарии ASP с помощью комментариев. В сценариях VB вы можете использовать многоточия для записи комментариев:
<%.
currentdate = now
' убедитесь, что вы используете кавычки вокруг HTML-кода
' & служит для объединения строки
Response.Write "Сегодня: " & currentdate & "<BR>"
%>
Используйте // в сценариях ASP для обозначения комментариев
с помощью include. Если вы раньше использовали файлы .shtml, возможно, у вас есть знакомые с включенным рабочим процессом, если нет, то мы пошагово расскажем, как им пользоваться.
Включение — это емкость, которая хранится в отдельном файле. В стандартном HTML для включений обычно используется расширение .inc. В ASP вы используете расширение .asp, .txt или .inc. Затем вы вызовете файл в HTML-код. При отправке HTML-файла включаемый файл извлекается из специального файла и записывается непосредственно на экран как содержимое HTML. Поэтому, если вы создадите исходный код представления, отображаемая страница будет такой же, как и введенная вами.
Для простого HTML это сэкономит много времени при создании шаблона сайта. Элементы верхнего, нижнего колонтитула и навигации являются частью того, что отображается на большом количестве ваших страниц. При использовании включений вы вводите файл один раз и вызываете его при необходимости. Это имеет несколько преимуществ:
при обновлении содержимого вам нужно обновить только один файл.
Включение мяса изолировано от HTML-страницы, поэтому любой, кто хочет внести изменения в контент, может не возиться со сценарием.
Ваши основные HTML-файлы меньше по размеру и более функциональны.
В ASP инклюзивность бесценна. Вы можете использовать скрипт снова и снова, иногда он может быть даже простым, как строка подключения, хранящаяся во включении, и его можно удалить, когда страница недоступна.
Чтобы использовать включаемые файлы, используйте любой из этих форматов:
<!-- #INCLUDE FILE="filename.inc" -->
или
<!-- #INCLUDE VIRTUAL="/filename.inc" -->
Ссылка на файл Содержит
.соответствующие используемые пути. VIRTUAL ссылается на абсолютный путь к связанному серверу. Если вы хотите переместить каталоги и файлы, самый простой способ — использовать VIRTUAL по умолчанию, чтобы в дальнейшем не столкнуться с неожиданными ошибками. С другой стороны, когда вы тестируете файлы, вам нужно использовать файлы, потому что это зависит от того, как вы настроили свой личный сервер.
В стандартном HTML для включаемых файлов обычно используется суффикс .inc. В ASP вы можете использовать .asp. Это предотвращает легкое открытие и чтение ваших файлов другими людьми.