ログ関数に似たアクション フィルターを作成しました。
public class TrackActionFilterAttribute : ActionFilterAttribute, IActionFilter
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
Tracking track = new Tracking()
{
Action = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + filterContext.ActionDescriptor.ActionName
};
context.Trackings.Add(track);
context.SaveChanges();
}
}
そして、私は次のようなアクションメソッドを持っています:
[TrackActionFilter]
public ActionResult Index()
{
if (Request.Form["registered"] == 1)
return PartialView("Landing");
else
return PartialView("Register");
}
[TrackActionFilter]
public ActionResult Landing()
{
return PartialView();
}
[TrackActionFilter]
public ActionResult Register()
{
return PartialView();
}
私の問題は、Index アクションが呼び出されたときです。Index アクションをデータベースに登録するだけです。インデックスに移動するとランディング ビューまたは登録部分ビューが表示されるため、いずれかのタイプのアクション フィルターでこれらのアクションを取得する方法はありますか?
主な理由は、データベース内でこれらのアクションも追跡したいのですが、それができないようです。私は ActionExecuted 、 ResultExecuted を無駄に試しました。どなたか専門家の助けがあれば幸いです!