2014-10-23 5 views
0

есть другой способ на получение текущего URL в MVC же в коде в window.location.href, так, что я могу управлять содержимым ?,Как получить Url со стороны сервера

Проблема

У меня есть url https://Mylink.com/Data?#address=ph, что я хочу , чтобы получить значение адреса. моя проблема в том, что когда я попытался получить url, выполнив запрос в контроллере, получит только https://Mylink.com/Data, querystring также пуст.

Мои коды:

public string Data() 
{ 
    var url = Request.Url; 
    var addr = url.IndexOf('#') > -1 ? url.Substring(url.IndexOf('#'),url.Length): ""; 
    return addr; 
} 

любое предложение будет принято, спасибо еще раз заранее

+0

Посмотрите http://stackoverflow.com/questions/5304782/how-to-get-current-page-url-in-mvc-3 –

+1

Вы не можете получить # значения в URL-адресе на стороне сервера поскольку браузер просто не отправляет их на сервер. –

ответ

2

Проблема заключается в том, что ваш QueryString является пустым. # и все после того, как он известен как фрагмент и является только клиентским. В общем, это не отправляется на сервер.

Если вам нужна информация здесь, на сервере, то, скорее всего, она должна быть в querystring вместо фрагмента.

+0

И тогда вы можете использовать 'Request.Url.Query' –

+0

yup is is is is problem, но есть ли другой способ получить весь URL-адрес в контроллере, чтобы я разделил символ #? –

+1

@ A.J: Посмотрите на вопрос, что это было отмечено как дубликат для некоторых способов его округления. По сути, это сводится к тому, что скрипт получает фрагмент и помещает его где-нибудь, вы можете получить к нему доступ. Если это сообщение формы, вы можете поместить его в скрытое поле. Если его запрос GET, то ваш единственный вариант - поместить его в строку запроса. – Chris

Смежные вопросы