Почему Request.QueryString ["key"] перестал работать? - PullRequest
3 голосов
/ 05 июля 2010

У меня есть простая веб-форма с именем default.aspx в структуре папок webroot / folder /

Когда я перехожу на http://myapp/folder/?key=value, страница возвращается нормально, а когда я звоню

<%= Request.QueryString[0] %>

Я получаю http://myapp/folder/?key=value рендеринга на странице.Однако, если я звоню

<%= Request.QueryString["key"] %>

, я ничего не получаю, и когда я звоню

<%= Request.QueryString[1] %>

, я получаю Index was out of range. Must be non-negative and less than the size of the collection.

Это кажется очень тривиальной проблемой, но яне могу понять, что происходит?!

Ответы [ 5 ]

3 голосов
/ 05 июля 2010

Получается, что за кулисами Sitecore превращает строку запроса в

? Page = требуемый-page.aspx? Ключ = значение

URL в браузере выглядит как запрошено.Очевидно, придерживаться второй?в актуальном url все делает после второго?исчезают

0 голосов
/ 05 июля 2010

вы можете использовать

Request.QueryString.Count();

и получить количество кода модификации строки запроса соответственно

0 голосов
/ 05 июля 2010

ваша строка запроса должна быть в /default.aspx?key = value, тогда вы сможете получить доступ, используя ["key"] param

0 голосов
/ 05 июля 2010

Если вы делаете что-то, что на самом деле не должно находиться под управлением Sitecore (хотя я никогда не находил это невозможным для работы с коллекцией QueryString), попробуйте добавить / folder / в настройку ignoreUrl. Sitecore вылезет из твоих волос, тогда; -)

0 голосов
/ 05 июля 2010

Если вы примените точку останова, а затем наведите курсор мыши на QueryString в Visual Studio, вы сможете увидеть все ключи. В качестве альтернативы вы можете просмотреть коллекцию и распечатать имена ключей, чтобы увидеть, немного ли она отличается от ожидаемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...