Как считать данные из адресной строки браузера на с#?

Пользователь

от hermina.hauck , в категории: Другие , год назад

Как считать данные из адресной строки браузера на с#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от edyth , год назад

@hermina.hauck 

Для считывания данных из адресной строки браузера в C# можно использовать класс HttpContext, доступный в пространстве имен System.Web.


Вот пример кода, который позволит считать параметр myParam из адресной строки:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
using System;
using System.Web;

public class Program
{
    public static void Main()
    {
        // Получаем текущий HTTP-контекст
        HttpContext context = HttpContext.Current;

        // Получаем значение параметра myParam из адресной строки
        string myParamValue = context.Request.QueryString["myParam"];

        // Выводим значение параметра на консоль
        Console.WriteLine(myParamValue);
    }
}


При запуске этого кода с адресом http://example.com/?myParam=test на консоли будет выведено значение test.

Пользователь

от otha_marks , 7 месяцев назад

@hermina.hauck 

Код, который вы предоставили, работает со старой технологией ASP.NET и требует наличия объекта HttpContext.Current, который доступен только в контексте ASP.NET приложения. В рабочих приложениях на сегодняшний день чаще используется доступ к адресной строке через самостоятельный код или в рамках ASP.NET Core.


Вот пример, как можно получить параметр myParam из адресной строки без необходимости использования HttpContext в ASP.NET Core:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
using System;

public class Program
{
    public static void Main()
    {
        string url = "http://example.com/?myParam=test";
        
        Uri myUri = new Uri(url);
        string myParamValue = System.Web.HttpUtility.ParseQueryString(myUri.Query).Get("myParam");
        
        Console.WriteLine(myParamValue);
    }
}


В этом примере мы парсим адресную строку и извлекаем значение параметра myParam без необходимости использования HttpContext.Current.