Untuk mengalihkan sebelum tindakan tertentu disebut
Ketika Anda mengunjungi situs yang Anda buat di ASP.NET MVC, URL dan routing akan memanggil tindakan controller yang sesuai, namun dalam beberapa situasi Anda mungkin ingin mengalihkan ke tindakan atau halaman lain sebelum tindakan yang sesuai dipanggil.
Jika Anda ingin setiap tindakan untuk mengarahkan, Anda dapat menggunakan RedirectResult atau RedirectToRouteResult untuk mengatasinya, tetapi Anda dapat menggunakan controller. Onactionpelaksana metode override jika Anda ingin mengarahkan secara umum sebelum setiap tindakan dipanggil. Metode ini adalah metode yang ditangani sebelum setiap tindakan dipanggil.
Jika Anda ingin metode controller. Onactionpelaksana untuk mengarahkan:
public class MyController : Controller
{
// 各アクションが呼ばれる前に呼ばれるメソッド
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (リダイレクトさせる条件)
{
filterContext.Result = new RedirectResult(url);
return;
}
}
}
Jika Anda menetapkan RedirectResult dengan URL di ActionExecutingContext. Result, Anda mengarahkan ke URL yang ditetapkan. Jika Anda tidak cabang dengan pernyataan if, pengalihan dilakukan pada semua tindakan yang menjadi bagian dari kontroler target.
Anda juga dapat mengatur kelas kontroler umum untuk setiap kelas basis controller kelas dan menerapkan metode Onactionpelaksana untuk berbagi pengolahan dengan beberapa kelas controller.
"ActionExecutingContext. Result" adalah jenis ActionResult, sehingga Anda dapat menggunakan kelas RedirectToRouteResult atau metode controller. RedirectToAction.