2012-01-06 8 views

Respuesta

10

Estoy de acuerdo con todo el mundo que la # debe haber una ?, pero sólo FYI:

en cuenta que no es realmente posible obtener el ancla frente a la URL, por ejemplo:

http://test.com/test.aspx#id=test

El problema es que # especifica un ancla en la página, por lo que el navegadorve:

http://test.com/test.aspx

Y entonces se ve en la página de

<a id="test">Your anchor</a> 

Como esto es del lado del cliente, necesita escapar el # de la URL; no puede obtenerlo en el servidor porque el navegador ya lo ha eliminado.

Si desea la parte después del #, debe copiarla utilizando Javascript antes de enviar la solicitud al servidor y poner el valor en la cadena de consulta.

Más información aquí c# get complete URL with "#"

2

¿No se supone que es así?

http://test.com/test.aspx?id=test 
6

Tu URL no es válida.

http://test.com/test.aspx#id=test 

se refiere a un marcador id=test llamado.

Debe utilizar

http://test.com/test.aspx?id=test 

Y luego Request.QueryString["id"] va a funcionar.

+0

Su llamada de API así que no puedo hacer nada. – PrateekSaluja

+0

¿Qué es una llamada API? –

+0

Veo que ha recorrido un largo camino @HenkHolterman. Con una reputación de 193K y en la parte superior del 0.05% o SO tal vez ahora sepa lo que es una llamada API jaja. – quemeful

8

Una cadena de consulta comienza con un signo de interrogación ? no es un hash #.

Probar:

http://test.com/test.aspx?id=test 

El uso de un hash, que está pidiendo a saltar a un anclaje con nombre dentro del documento, no proporcionar una cadena de consulta

4

Si desea utilizarlo como etiqueta de hash se puede utilizar:

string value = Request.Url.ToString().Split('#')[1]; 

con este código, usted tendrá su valor hash tag.

+0

Gracias ya lo arreglé. – PrateekSaluja

Cuestiones relacionadas