#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, а также другим пользователям с аналогичными проблемами.