2010-01-10 2 views
6

Чтобы получить URL текущей страницы, я обычно делаю что-то вроде этого:asp.net После Server.Transfer, как вы получаете путь к текущей странице?

string path = Request.Path; 

Если я сделаю это после того, как Server.Transfer тогда я получаю путь страницы, на которой была сделана передача. Как я могу получить его для текущей страницы?

Например:

На Page1.aspx я Server.Transfer ("Page2.aspx")
На Page2.aspx Request.Path возвращает /Page1.aspx и не /Page2.aspx

Я хотел бы получить /Page2.aspx. Как я могу его получить?

+0

ли вы имеете в виду 'Server.Transfer'? – SLaks

+0

Точный. Я отредактировал вопрос. – Anthony

ответ

13

Вы ищете недвижимость Request.CurrentExecutionFilePath.

+0

Кажется, делает трюк. Благодарю. – Anthony

+0

Кажется, что нет. – Serge

+0

Вы можете использовать Request.QueryString, чтобы получить строку запроса на текущей странице, так что полный URL-адрес будет Request.CurrentExecutionFilePath + "?" + Request.QueryString.ToString() – Rayyan

0

Когда вы используете Server.Transfer, несмотря на то, что URL-адрес в браузере не изменяется, ссылается URL-адрес запроса. Таким образом, вы можете использовать запрос свойства UrlReferrer. UrlReferrer получает информацию о URL-адресе предыдущего запроса клиента, который связан с текущим URL-адресом.

Например

string myContextBrowserPath = Context.Request.UrlReferrer.AbsolutePath 
Смежные вопросы