ビューアをURLにリダイレクトするにはどうすればよいですか?
私は誰かが JavaScript/jQueryで別のWebページにリダイレクトする方法 を尋ねたのに気付きましたが、これがどこに行くべきか正確にはわかりません。
私はコントローラーで試しました: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
あなたの質問には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を使用すると、ユーザーが[戻る]ボタンを押すと、現在のページに繰り返しリダイレクトされます。
コントローラー内でreturn RedirectToAction()
を呼び出します。
public ActionResult MyAction() {
return RedirectToAction("Index", "Home");
}
または、 T4MVC を使用します(そして;-))
public ActionResult MyAction() {
return RedirectToAction(MVC.Home.Index());
}
ビューにif
ステートメントを入れないでください-これはMVCの方法ではありません。別のビューにリダイレクトするかどうかを決定するのは、コントローラーの責任です。
このようにしてみてください:
<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>
これを試して:
<script type="text/javascript">
var id = '123';
location.href = "http://192.168.1.109/MWT/Taglist/ShowMap/" + id;
</script>