簡體   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