私はRazor、HTML5、MVC3をアプリケーションで使用しています。ユーザーがリンクをクリックした後、新しいウィンドウを開き、何らかの処理を行い、次に302ステータスコードを持つウィンドウをリンクにリダイレクトする。MVC3とASP.Netを使用して302リダイレクトを実行しますか?
ありがとうございました。
私はRazor、HTML5、MVC3をアプリケーションで使用しています。ユーザーがリンクをクリックした後、新しいウィンドウを開き、何らかの処理を行い、次に302ステータスコードを持つウィンドウをリンクにリダイレクトする。MVC3とASP.Netを使用して302リダイレクトを実行しますか?
ありがとうございました。
ASP.NET MVCでこれを行う正しい方法は、リダイレクトActionResult
を返すコントローラアクションを持たせることです。それが処理を行いますFoo
アクションが(おそらく新しいウィンドウ内で)呼び出され
public ActionResult Foo()
{
// ... some processing
return RedirectToAction("SomeAction", "SomeController");
}
:コントローラのアクション内でこのウィンドウで起動すると、処理は、単に適切なのActionResultを返すことによってリダイレクトを実行行っているので、新たな場所が/SomeController/SomeAction
の302 HTTPステータスコードをクライアントに返します。
public ActionResult Foo()
{
// ... some processing
return Redirect("http://someotherdomain.com/somescript");
}
を限り付加できます懸念している新しいウィンドウ/タブで開きますリンクの作成など:あなたは次のことを行うことができ、アプリケーションのいくつかの外部のURLにリダイレクトしたい場合は
アンカーのtarget="_blank"
属性:
@Html.ActionLink(
"Some link", // linkText
"Foo", // action
"SomeController", // controller
null, // routeValues
new { target = "_blank" } // htmlAttributes
)