В моем фильтре действий я получаю URL, который посетил пользователь через этот код.
MyActionFilter:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
String originalPath = new Uri(HttpContext.Current.Request.Url.AbsoluteUri).OriginalString;
}
}
Мне нужно передать originalPath главному контроллеру, чтобы сохранить URL в db. Как передать URL из фильтра действий на главный контроллер?
Главный контроллер:
public class HomeController : Controller
{
private readonly MyLogEntities _db = new MyLogEntities();
[LogActionFilter]
public ActionResult Index()
{
return View();
}
[LogActionFilter]
public ActionResult About(int id)
{
ViewBag.Message = "Your application description page.";
var usr = _db.UserLogs.SingleOrDefault(u => u.ID == id);
var inputUser = ConfigurationManager.AppSettings["INPUT_USER"].ToString().ToLower();
usr.Date = DateTime.Now;
usr.url= originalPath; // need to get this from action filter
usr.UserName = inputUser;
_db.Logs.Add(usr);
_db.Entry(usr).State = EntityState.Added;
_db.SaveChanges();
return View();
}
public ActionResult Contact()
{
ViewBag.Message = "Your contact page.";
return View();
}
}