Подтвердить что ты не робот

Как я могу получить URL и Querystring? vb.net

Я пересматриваю некоторые устаревшие коды. Приложение не использовало querystrings. Предыдущий разработчик был жестким кодированием некоторых переменных, которые приложение использует в других местах.

Подобно этому, используя VB.NET

 so.Cpage = "ContractChange.aspx"

Мой вопрос: могу ли я программно установить это значение и включить текущую строку запроса?

Я хочу, чтобы so.Cpage был чем-то вроде ContractChange.aspx?d=1&b=2

Могу ли я сделать это с помощью объекта запроса или чего-то еще? Обратите внимание: мне не нужен домен.

4b9b3361

Ответ 1

Попробуйте следующее:

so.Cpage = "ContractChange.aspx?" & Request.RawUrl.Split("?")(1)

Ответ 2

Чтобы получить текущую строку запроса, вы просто выполните примерно следующее:

Dim query as String = Request.QueryString("d")

Это будет присвоить значение "d" querystring строковой переменной "query". Обратите внимание, что все строки строки запроса являются строками, поэтому, если вы пропускаете числа вокруг, вам нужно "отличить" или преобразовать эти строковые значения в числовые значения (будьте осторожны с исключениями при кастинге). Например:

Dim query as String = Request.QueryString("d")
Dim iquery as Integer = CType(query, Integer)

Свойство QueryString объекта Request представляет собой набор пар ключей имени/значения. В частности, это тип System.Collections.Specialized.NameValueCollection, и вы можете перебирать каждую из пар имя/значение так:

Dim coll As System.Collections.Specialized.NameValueCollection = Request.QueryString
Dim value As String
For Each key As String In coll.AllKeys
   value = coll(key)
Next

Используя любой из этих механизмов (или что-то очень похожее), вы должны создать строковую переменную, содержащую полный URL-адрес (страница и запросы), к которым вы хотите перейти.

Ответ 3

В VB.Net вы можете сделать это со следующим.

Dim id As String = Request.Params("RequestId")

Если вы хотите обработать это как целое число, вы можете сделать следующее:

Dim id As Integer

If Integer.TryParse(Request.Params("RequestId"), id) Then
   DoProcessingStuff()
End If

Ответ 4

попробуйте это

Dim name As String = System.IO.Path.GetFileName(Request.ServerVariables("SCRIPT_NAME"))
Dim qrystring As String = Request.ServerVariables("QUERY_STRING")
Dim fullname As String = name & "/" & qrystring

Ответ 5

Не уверен в синтаксисе в VB.NET, но в С# вам просто нужно сделать

string id = Request.QueryString.Get( "d" );

Надеюсь, что это поможет.