Как я могу перенаправить на URL? - PullRequest
29 голосов
/ 08 августа 2011

Как я могу перенаправить зрителя на URL?

Я заметил, что кто-то спросил Как перенаправить на другую веб-страницу в JavaScript / jQuery? , но я не совсем уверен, куда это должно идти.

Я пытался в контроллере с:
window.location.replace("http://192.168.1.109/MWT/Taglist/ShowMap" + LastId);
и в представлении с:

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

Ни одна из этих работ. В обоих местах window имеет красную волнистую линию под ним, и когда я наводю на нее курсор, появляется сообщение «Имя« окно »не существует в текущем контексте».

Любая помощь будет очень высоко ценится!

= D

Ответы [ 5 ]

70 голосов
/ 08 августа 2011

Ваш вопрос помечен MVC 3, поэтому я дам вам ответ на него, несмотря на приведенный вами пример JavaScript.В вашем классе контроллера используйте этот код:

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);
}

Это происходит на сервере, что означает, что клиентский браузер получает ответ о перенаправлении, для которого браузер, вероятно, отправит дополнительный запрос.Если вы вернете страницу с JavaScript, она должна будет загрузить страницу, запустить JavaScript (при условии, что он включен в браузере клиента) и загрузить следующую страницу.Среди прочих проблем использование JavaScript означает, что если пользователь нажимает кнопку «Назад», он будет повторно перенаправляться снова на страницу, на которой он находится в данный момент.

6 голосов
/ 08 августа 2011

Внутри вашего контроллера вызов return RedirectToAction().

public ActionResult MyAction() {

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

или, если вы используете T4MVC (и вы должны; -))

public ActionResult MyAction() {

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

Doне помещайте оператор if в представление - это не путь MVC.Ответственность за решение о том, следует ли перенаправить в другое представление, лежит на контроллере.

4 голосов
/ 08 августа 2011

Попробуй так:

<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>
1 голос
/ 16 июня 2015

Попробуйте это:

 <script type="text/javascript">
   var id = '123';
   location.href = "http://192.168.1.109/MWT/Taglist/ShowMap/" + id;
 </script>
0 голосов
/ 27 июня 2013

Попробуй так:

top.location.href = "/ url";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...