Как получить доступ к переменным из URL-адресов, полученных из метода GET в ASP.net? - PullRequest
1 голос
/ 14 марта 2009

Asp.net оказался намного проще в использовании, чем PHP (пока). Тем не менее, я искал некоторое время и просто не могу понять это. Как я могу получить переменные, которые содержатся в URL моей страницы (которые происходят из формы, которая имела метод "GET") и использовать их?

Например, моя страница будет www.example.com/index.asp?somevariable=something

Как бы я получить значение некоторой переменной?

Ответы [ 5 ]

3 голосов
/ 14 марта 2009

Вы можете использовать то, что сказал ybo, но оно не завершено (по крайней мере, для VB). Одно это может оставить исключение для нулевой ссылки. Вы хотите привести (то есть TryParse) значения и обработать все пустые параметры, которые, как вы ожидали, будут содержать значение:

Dim itemId As Integer
Dim itemType as String

If Not Integer.TryParse(Request.QueryString("i").ToString, itemId) Then
    itemId = -1 ' Or whatever your default value is
Else
    ' Else not required. Variable itemId contains the value when Integer.TryParse returns True.
End If

itemType = Request.QueryString("t").ToString ' <-- ToString important here!
2 голосов
/ 14 марта 2009

Это так же просто, как:

Request.QueryString["somevariable"]; // C#
Request.QueryString("somevariable") ' VB
0 голосов
/ 17 сентября 2009
NameValueCollection col1 = Request.Query;
name=col1.GetValues("somevariable")[0].ToString();
0 голосов
/ 14 марта 2009

Любой достойный HTTP-фреймворк или библиотека или часть программного обеспечения, скрипт / нативный / управляемый / маршрутизируемый, может приготовить / сломать / взломать компоненты URL для вас.

Request.QueryString - древний способ работы с ним. Посмотрите механизмы Uri Template или новые биты MVC. Вам это понадобится рано или поздно.

0 голосов
/ 14 марта 2009

Это для ASPX c #:

NameValueCollection pColl = Request.Params;
if (pColl["somevariable"] != null)
{
    string yourvalue = pColl["somevariable"];
}
...