В чем разница между этими двумя в VBScript:
Request("startDate")
Request.QueryString["startDate"]
А где Request("startDate")
задокументировано? Я не вижу этого использования здесь:
В чем разница между этими двумя в VBScript:
Request("startDate")
Request.QueryString["startDate"]
А где Request("startDate")
задокументировано? Я не вижу этого использования здесь:
Официальная документация для объекта Request
в ASP classic находится здесь: http://msdn.microsoft.com/en-us/library/ms524948%28VS.90%29.aspx
Процитировать соответствующую часть для этого вопроса:
Доступ ко всем переменным возможен напрямую, вызывая Request (variable) без названия коллекции. В этом случае веб-сервер выполняет поиск коллекции в следующем порядке:
- QueryString
- Форма
- Cookies
- ClientCertificate
- ServerVariables
Если переменная с тем же именем существует более чем в одной коллекции, объект Request возвращает первый экземпляр объекта встречи.
РЕДАКТИРОВАТЬ: AnthonyWJones сделал замечательный комментарий к вопросу: Избегайте использования синтаксиса Request("name")
. Фактически это упоминается в приведенной выше ссылке документации:
Настоятельно рекомендуется, чтобы при обращении к членам в коллекции будет использовано полное имя. Например, вместо Запрос. ( "AUTH_USER" ) использует Request.ServerVariables ( "AUTH_USER" ). Эта позволяет серверу быстрее находить элемент.
См. Запрос() vs Request.QueryString()
Из того, что я понимаю, когда вы используете Request on it own, он вернет первый подобранный элемент в коллекции запросов. хорошо объясненный в прилагаемом решении.
Извините, что сделал этот вопрос, но, учитывая предупреждения против использования Request ( "param" ), мне пришлось добавить мои два цента. В этом конкретном случае есть веская причина использовать Request ( "param" ) вместо Request.QueryString( "param" ): он позволяет вам писать код, который будет принимать параметры как часть строки запроса или при отправке через форму. Я регулярно сталкиваюсь с ситуациями, когда это не только удобно, но и желательно.