2011-08-08 17 views
28

¿Cómo puedo redireccionar el visor a una URL?¿Cómo puedo redireccionar a una URL?

Me di cuenta de que alguien me había preguntado How to redirect to another webpage in JavaScript/jQuery?, pero no estoy seguro de a dónde debería ir.

He tratado en el controlador con:
window.location.replace("http://192.168.1.109/MWT/Taglist/ShowMap" + LastId);
y en la vista con:

<% if (BreakCount >= 8) { 
    var url = "http://192.168.1.109/MWT/Taglist/ShowMap" + LastId; 
    window.location.replace(url); 
} %> 

Ninguno de estos trabajos. En ambos lugares, los lugares window tienen una línea ondulada roja debajo y cuando cierro el mensaje dice "El nombre 'ventana' no existe en el contexto actual."

Cualquier ayuda sería en gran medida ¡apreciada!

= D

Respuesta

68

Su pregunta se ha etiquetado MVC 3, así que le daré la respuesta para eso a pesar del ejemplo de JavaScript que enumeró. En su clase de controlador de utilizar este código:

public ActionResult MyAction() 
{ 
    // Use this for an action 
    return RedirectToAction("ActionName"); 
    // Use this for a URL 
    return Redirect("http://192.168.1.109/MWT/Taglist/ShowMap" + LastId); 
} 

Esto está ocurriendo en el servidor, lo que significa que el navegador del cliente recieves una respuesta de redirección para el que el navegador es probable que presenten una solicitud adicional. Si devuelve una página con JavaScript, tendrá que cargar una página, ejecutar el JavaScript (suponiendo que esté habilitado en el navegador del cliente), cargar la página siguiente. Entre otros problemas, el uso de JavaScript significa que si el usuario presiona el botón Atrás, se le volverá a redirigir repetidamente de nuevo a la página en la que se encuentra actualmente.

+0

Gracias! Tengo mi programa funcionando correctamente con la ayuda de su código. – Dracco1993

3

Trate de esta manera:

<script type="text/javascript"> 
    // Make sure the LastId variable is defined 
    var LastId = '123'; 
    <% if (BreakCount >= 8) { %> 
     var url = "http://192.168.1.109/MWT/Taglist/ShowMap" + LastId; 
     window.location.replace(url); 
    <% } %> 
</script> 
5

Dentro de su llamada controlador return RedirectToAction().

public ActionResult MyAction() { 

    return RedirectToAction("Index", "Home"); 
} 

o, lo que utilizar T4MVC (y debe ;-))

public ActionResult MyAction() { 

    return RedirectToAction(MVC.Home.Index()); 
} 

No ponga la declaración if en la vista - que no es la forma MVC. Es responsabilidad del controlador decidir si redirige a una vista diferente.

-1

Trate de esta manera:

top.location.href = "/ URL";

0

Prueba esto:

<script type="text/javascript"> 
    var id = '123'; 
    location.href = "http://192.168.1.109/MWT/Taglist/ShowMap/" + id; 
</script> 
Cuestiones relacionadas