Как перенаправить URL-адрес?
Как перенаправить средство просмотра на 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
Ответы
Ответ 1
Ваш вопрос помечен 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 означает, что если пользователь нажимает кнопку "Назад", они будут повторно перенаправлены снова на страницу, на которой они в данный момент включены.
Ответ 2
Внутри вашего вызова контроллера return RedirectToAction()
.
public ActionResult MyAction() {
return RedirectToAction("Index", "Home");
}
или, вы используете T4MVC (и вы должны; -))
public ActionResult MyAction() {
return RedirectToAction(MVC.Home.Index());
}
Не помещайте оператор if
в представление - это не путь MVC. Контролер должен решить, следует ли перенаправлять на другое представление.
Ответ 3
Попробуйте вот так:
<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>
Ответ 4
Попробуйте следующее:
<script type="text/javascript">
var id = '123';
location.href = "http://192.168.1.109/MWT/Taglist/ShowMap/" + id;
</script>
Ответ 5
Попробуйте вот так:
top.location.href= "/url";