расположение jquery.эквивалент пути в c#

#javascript #c# #jquery #razor

#javascript #c# #jquery #razor

Вопрос:

Я хочу получить URL-адрес в строке поиска, используя c # в основном, я хочу знать эквивалент location.путь в c#

вот URL-адрес в строке поиска

 https://localhost:44363/modulotecnico
  

вот мой код jquery

 $(document).ready(function () {
    var test = $('#currentPage').val(location.pathname);  
    //test = /modulotecnico
});
  

/ modulotecnico — это результат, который я хочу получить, используя код c # на моей странице razor. Я уже перепробовал все эти методы, но, похоже, ни один из них не работает

вот что я пробовал в c # и результаты, которые я получаю

 @{
    String originalPath = new Uri(HttpContext.Current.Request.Url.AbsoluteUri).OriginalString;
    //originalPath  = https://localhost:44363/kanban/Contrato/19041240
    
    String parentDirectory = originalPath.Substring(0, originalPath.LastIndexOf("/"));
    //parentDirectory = https://localhost:44363/kanban/Contrato

    string url = HttpContext.Current.Request.Url.AbsoluteUri;
    // url  = https://localhost:44363/kanban/Contrato/19041240

    string path = HttpContext.Current.Request.Url.AbsolutePath;
    // path = /kanban/Contrato/19041240

    string host = HttpContext.Current.Request.Url.Host;
    // host  = localhost
}
  

Спасибо за вашу помощь.

Комментарии:

1. вы вообще переписываете URL? нет причин, по которым URL-адрес запроса C # должен отличаться от того, что указано в javascript. Возможно, вы захотите взглянуть на запрос. UrlReferrer

2. Я просмотрел запрос. UrlReferrer и значение равно null

3. Я предполагаю, что мой вопрос будет заключаться в том, почему URL-адрес в вашем первом примере (/modulotecnico) отличается от URL-адреса запроса c #. Опять же, вы переписываете какой-либо URL-адрес или у вас есть пользовательская настройка маршрута? Является ли ‘modulotecnico’ именем сайта в IIS и, следовательно, является префиксом URL. По сути, почему это должно быть ‘/modulotecnico’ по сравнению с тем, что написано в URL запроса c #?

Ответ №1:

вы можете использовать Request.RawUrl , как показано ниже:

 @{
     string strPathAndQuery = Request.RawUrl;
}
  

Комментарии:

1. Нет, это не работает, я получаю следующий URL / kanban / Contrato / 19041240, мне нужен URL, который находится в строке поиска браузера. Но спасибо вам за вашу помощь.

2. Добро пожаловать в Stack Overflow. Ответы, содержащие только код, в Stack Overflow не приветствуются, поскольку они не объясняют, как это решает проблему. Пожалуйста, отредактируйте свой ответ, чтобы объяснить, что делает этот код и как он отвечает на вопрос, чтобы он был полезен OP, а также другим пользователям с аналогичными проблемами.