ASP.NET: получение текущего URL-адреса с помощью веб-метода?
Я пытаюсь получить URL текущей страницы с помощью веб-метода. Приведенный ниже код хорошо работает с обычным методом C#, таким как Page_Load, но не работает внутри веб-метода.
[WebMethod(EnableSession=true)]
public static void UpdateProjectName(string name)
{
string project_id = HttpContext.Current.Request.Url.ToString();
}
Я получаю пустую строку ("") в качестве project_id. Что я делаю неправильно?
3 ответа
Решение
Чтобы получить информацию о запросе клиента на предварительный просмотр текущего веб-сайта, вы можете использовать UrlReferrer следующим образом:
//To get the Absolute path of the URI use this
string myPreviousAbsolutePath = Page.Request.UrlReferrer.AbsolutePath;
//To get the Path and Query of the URI use this
string myPreviousPathAndQuery = Page.Request.UrlReferrer.PathAndQuery;
Ты нуждаешься в этом:
[WebMethod]
public static string mywebmethod()
{
string myUrl= HttpContext.Current.Request.UrlReferrer.PathAndQuery.ToString();
return parameters
}
Попробуйте сделать следующий код:
[WebMethod(EnableSession=true)]
public static void UpdateProjectName(string name)
{
string project_id = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
}
Url
это просто объект, поэтому он возвращает вам пустое значение. AbsoluteUri
даст полный URL текущей страницы. Пример: http://yourweb.site/Admin.aspx?id=15&time=yesterday