Để chuyển hướng trước khi một hành động cụ thể được gọi là
Khi bạn truy cập một trang web bạn xây dựng trong ASP.NET MVC, URL và định tuyến sẽ gọi hành động điều khiển tương ứng, nhưng trong một số trường hợp bạn có thể muốn chuyển hướng nó đến một hành động hoặc trang khác trước khi hành động tương ứng được gọi là.
Nếu bạn muốn mỗi hành động chuyển hướng, bạn có thể sử dụng RedirectResult hoặc RedirectToRouteResult để giải quyết nó, nhưng bạn có thể sử dụng các phương pháp ghi đè Controller. Onactionthực thi nếu bạn muốn chuyển hướng chung trước mỗi hành động được gọi là. Phương pháp này là phương pháp được xử lý trước mỗi hành động được gọi là.
Nếu bạn muốn phương pháp Controller. Onactionthi chuyển hướng:
public class MyController : Controller
{
// 各アクションが呼ばれる前に呼ばれるメソッド
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (リダイレクトさせる条件)
{
filterContext.Result = new RedirectResult(url);
return;
}
}
}
Nếu bạn đặt RedirectResult với URL ActionExecutingContext. result, bạn chuyển hướng tới URL được chỉ định. Nếu bạn không chi nhánh với một tuyên bố nếu, chuyển hướng được thực hiện trên tất cả các hành động thuộc bộ điều khiển đích.
Bạn cũng có thể thiết lập một Class Controller chung cho mỗi lớp Base của Controller và thực hiện phương thức Onactionprocessing để chia sẻ xử lý với nhiều lớp Controller.
"ActionExecutingContext. result" là một loại ActionResult, vì vậy bạn có thể sử dụng lớp RedirectToRouteResult hoặc phương pháp Controller. RedirectToAction.