![](/img/trans.png)
[英]How do I find out what user my ASP.Net MVC application is running as?
[英]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.