繁体   English   中英

找出用户在ASP.Net MVC中单击了什么链接

[英]Figuring out what link a user clicked in ASP.Net MVC

我有4个链接,用户可以单击,而每个人的目的地都不相同,但是我对Controller中的每个ActionResult应用了一个Filter,该Filter运行一些检查并将其重定向到具有所需表单的页面。 我试图找出一种方法来捕获单击的链接并将其存储在Session中,以便当用户登陆页面时,过滤器重定向到我可以创建一个链接的链接,该链接是他/他打算去的页面。 我尝试了Request.UrlReferrer但是这个简单的方法是当用户单击链接时捕获用户所在页面的URL。

控制器:

[NetGalFilter]
public ActionResult Transactions()
{
    return View();
}

过滤:

public class NetGalFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var Controller = filterContext.Controller as Sprague.RTS.WebUI.Controllers.BaseController;

        if (HttpContext.Current.Session["HasConfirmed"] == null && Controller.TerminalUserData.IsNetGallonTerminal)
        {
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "DataEntry", action = "ConversionFactors" }));
        }

        base.OnActionExecuting(filterContext);
    }
}

您可以在filterContext使用HttpContext 在那里,您具有Request属性,该属性的类型为HttpRequestBase,并且具有RawUrl来从浏览器获取确切的URL以及其他属性来获取已解析的Action和Controllers。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM