10

I have such URL

localhost/Login/LogOn?ReturnUrl=/#&q=my%20search%20word&f=1//447044365|2//4

I need to get hash parameters to navigate in the application after authentication.

I try to catch it like this

<input name="returnUrl" value="<%= ViewContext.HttpContext.Request.Url.PathAndQuery %>" type="hidden" />

But result is

/Login/LogOn?ReturnUrl=/

I tried to take away "/#" in the URL, then I get whole URL. But I need to use this URL as it is.

Why was URL cutted?

A-Sharabiani
  • 15,608
  • 15
  • 99
  • 122
podeig
  • 2,473
  • 8
  • 34
  • 56

1 Answers1

22

The browser does not send the hash fragment to the server. It used on the client-side only. If you need it you will have to access it through client-side script.

Talljoe
  • 14,211
  • 3
  • 40
  • 39
  • 1
    Thanks! I have just added $("#returnUrl").val(location.hash); to place it in the input. – podeig Apr 04 '11 at 10:23
  • 5
    With client-side URL processing like this, be mindful of inject/hijack attacks. Make sure the consumer of this value is untrusting and validates it. – ProVega May 20 '14 at 03:46