Untuk mengarahkan semula sebelum tindakan tertentu dipanggil
Apabila anda melawat tapak yang anda bina dalam ASP.NET MVC, URL dan penghalaan akan memanggil tindakan pengawal yang sepadan, tetapi dalam sesetengah keadaan, anda mungkin mahu mengubah hala ke tindakan atau halaman lain sebelum tindakan yang sepadan dipanggil.
Jika anda mahu setiap tindakan untuk mengarahkan semula, anda boleh menggunakan RedirectResult atau RedirectToRouteResult untuk menyelesaikannya, tetapi anda boleh menggunakan pengawal. Onactionmelaksanakan kaedah mengatasi jika anda ingin redirect persamaan sebelum setiap tindakan dipanggil. Kaedah ini adalah kaedah yang dikendalikan sebelum setiap tindakan dipanggil.
Jika anda mahu pengawal. Onactionmelaksanakan kaedah untuk redirect:
public class MyController : Controller
{
// 各アクションが呼ばれる前に呼ばれるメソッド
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (リダイレクトさせる条件)
{
filterContext.Result = new RedirectResult(url);
return;
}
}
}
Jika anda menetapkan RedirectResult dengan URL dalam ActionExecutingContext. hasilnya, anda mengarah semula ke URL yang ditentukan. Jika anda tidak cawangan dengan pernyataan jika, peralihan dilakukan ke atas semua tindakan yang dimiliki oleh pengawal sasaran.
Anda juga boleh menetapkan kelas pengawal yang biasa untuk setiap kelas alat kawalan dan melaksanakan kaedah Onactionmelaksana untuk berkongsi pemprosesan dengan berbilang kelas pengawal.
"ActionExecutingContext. hasilnya" adalah jenis Actionkeputusan, sehingga anda boleh menggunakan kelas RedirectToRouteResult atau pengawal. RedirectToAction method.