2015-06-11 4 views
0

У меня есть URL-адрес, на котором будет один параметр, но «имя» этого параметра в некоторых случаях будет другим, например.Получить значение от querystring по его позиции

www.mysite.com/blog/?name=craig

www.mysite.com/blog/?city=birmingham

и то, что я пытаюсь сделать, это всегда получает значение (craig/birmingham) первого (и единственного) параметра на строке, независимо от ее имени (имя/город). Есть ли какой-нибудь код, который будет делать это, или мне нужно будет проверить возможные варианты?

спасибо, Craig

+0

Я не думаю, что есть класс, который гарантирует показатели параметров запроса остаться такой же ... Я бы сократить название строка запроса (до первого '='), а затем использовать обычные методы для захвата параметра запроса из URL-адреса. –

+0

Пара вопросов, прежде чем я отвечу: если URL-адрес: www.mysite.com/blog/?name=craig&city=birmingham, значит ли это, что у вас есть параметр под названием «имя» со значением «craig»? Или вы только собираетесь использовать это внутри, так что вы уверены, что всегда будет один параметр? Может ли имя параметра быть чем угодно? – MariusUt

+0

Вы можете настроить таргетинг на URI (строку), разделив строку на первое вхождение '=', чтобы получить имя. Однако может быть лучше настроить объект и поместить его в сеанс, если это имеет смысл. –

ответ

1

Попробуйте что-то вроде этого:

string valueOfFirstQueryStringParameter = ""; 
string nameOfFirstQueryStringParameter = ""; 
NameValueCollection n = Request.QueryString; 
if (n.HasKeys()) 
{ 
    nameOfFirstQueryStringParameter = n.GetKey(0); 
    valueOfFirstQueryStringParameter = n.Get(0); 
} 
+0

Это просто дает значение первого параметра строки запроса, OP хочет имя и значение. –

+0

Код отредактирован, чтобы включить поиск имени параметра запроса, НО, как я читаю OP, это НЕ требуется. –

+0

Я стою исправлены. Вопрос немного двусмыслен, но я думаю, что вы правы, он только хотел эту ценность. –

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