Sé que en el lado del cliente (javascript) puede usar windows.location.hash pero no puede encontrar de todos modos para acceder desde el lado del servidor.
asp.net
url
fragment-identifier
Ricky Supit
fuente
fuente
Respuestas:
Tuvimos una situación en la que necesitábamos persistir el hash de URL en las publicaciones posteriores de ASP.Net. Como el navegador no envía el hash al servidor de forma predeterminada, la única forma de hacerlo es usar Javascript:
Cuando se envíe el formulario, tome el hash (
window.location.hash
) y guárdelo en un campo de entrada oculto del lado del servidor. Póngalo en un DIV con una identificación de "urlhash
" para que podamos encontrarlo fácilmente más tarde.En el servidor puede usar este valor si necesita hacer algo con él. Incluso puede cambiarlo si lo necesita.
Al cargar la página en el cliente , verifique el valor de este campo oculto. Querrá encontrarlo en el DIV en el que está contenido, ya que no se conocerá la ID generada automáticamente. Sí, podría hacer algunos trucos aquí con .ClientID, pero nos pareció más simple usar el contenedor DIV, ya que permite que todo este Javascript viva en un archivo externo y se use de manera genérica.
Si el campo de entrada oculto tiene un valor válido, configúrelo como el hash de URL (
window.location.hash again
) y / o realice otras acciones.Usamos jQuery para simplificar la selección del campo, etc., en general, termina siendo unas pocas llamadas de jQuery, una para guardar el valor y otra para restaurarlo.
Antes de enviar:
En la carga de la página:
IsHashValid()
puede verificar "undefined
" u otras cosas que no desea manejar.Además, asegúrese de usar
$(document).ready()
adecuadamente, por supuesto.fuente
RFC 2396 sección 4.1:
(énfasis añadido)
fuente
Eso es porque el navegador no transmite esa parte al servidor, lo siento.
fuente
Probablemente, la única opción es leerlo en el lado del cliente y transferirlo manualmente al servidor (GET / POST / AJAX). Saludos Artur
También puedes ver cómo jugar con el botón Atrás y el historial del navegador en Malcan
fuente
Solo para descartar la posibilidad de que en realidad no esté tratando de ver el fragmento en un GET / POST y realmente quiera saber cómo acceder a esa parte de un objeto URI que tiene dentro de su código del lado del servidor, está bajo Fragmento Uri. ( Documentos de MSDN ).
fuente
Posible solución para solicitudes GET:
Nuevo formato de enlace:
http://example.com/yourDirectory?hash=video01
Llame a esta función hacia la parte superior del controlador o
http://example.com/yourDirectory/index.php
:fuente