2013-04-30 3 views
1

Я передаю GET переменные между двумя сайтами ASP.NET. В прошлом я всегда использовал HttpContext.Current.Request.QueryString["VARIABLE_NAME"] или HttpContext.Current.Request.Params["VARIABLE_NAME"] прочитать переменную из строки запроса, но теперь у меня есть необходимость передавать два различных переменных в моей строке запроса, например, так:Как вы можете получить несколько переменных GET из строки запроса?

http://sampleurl.com/Default.aspx?VariableA=ValueA?VariableB=ValueB

Моя проблема заключается что HttpContext.Current.Request.QueryString["VariableA"] вернет всю строку запроса, начиная с VariableA и продолжая через VariableB.

Я мог получить всю строку запроса, разбить ее на имена переменных и затем прочитать полученные значения, но это кажется неаккуратным. Есть ли более элегантное решение для чтения нескольких переменных GET через C#?

+2

Ваш адрес не создан правильно. Запрос начинается с '?', Но тогда каждая пара ключей и значений должна быть отделена амперсандом ('&') и не более вопросительными знаками. – mroach

ответ

8

Попробуйте как этот

sampleurl.com/Default.aspx?VariableA=ValueA&VariableB=ValueB 

У вас есть отдельная переменная строки запроса с амперсанд (&). ? запускает строку запроса, = отделяет имя от его значения, а & разделяет пары имя/значение.

+3

Важной деталью является то, что '?' Запускает строку запроса, '=' отделяет имя от его значения, а '&' разделяет пары имя/значение, а не другое '?'. –

+0

nice description @CoreyOgburn –

+0

Ассистент, похоже, не понимал структуру строки запроса, и мне пришлось дважды посмотреть, чтобы заметить разницу между вашим URL-адресом и вопросом в вопросе, потому что различия были такими маленькими. Я просто хотел осветить эти различия. –

Смежные вопросы