gpt4 book ai didi

asp.net-mvc - 从 ActionExecutingContext 获取区域名称

转载 作者:行者123 更新时间:2023-12-01 11:56:21 24 4
gpt4 key购买 nike

我正在编写一个 ActionFilter 并且需要从 ActionExecutingContext 参数中获取区域名称(我想实现基于快速和脏登录的安全性)。是否可以?

最佳答案

用法

@Html.Controller();
@Html.Action();
@Html.Id();
@Html.Area();

代码
public static class HtmlRequestHelper
{
public static string Id(this HtmlHelper htmlHelper)
{
var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;

if (routeValues.ContainsKey("id"))
return (string)routeValues["id"];
else if (HttpContext.Current.Request.QueryString.AllKeys.Contains("id"))
return HttpContext.Current.Request.QueryString["id"];

return string.Empty;
}

public static string Controller(this HtmlHelper htmlHelper)
{
var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;

if (routeValues.ContainsKey("controller"))
return (string)routeValues["controller"];

return string.Empty;
}

public static string Action(this HtmlHelper htmlHelper)
{
var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;

if (routeValues.ContainsKey("action"))
return (string)routeValues["action"];

return string.Empty;
}

public static string Area(this HtmlHelper htmlHelper)
{
var dataTokens = HttpContext.Current.Request.RequestContext.RouteData.DataTokens;

if (dataTokens.ContainsKey("area"))
return (string)dataTokens["area"];

return string.Empty;
}
}

关于asp.net-mvc - 从 ActionExecutingContext 获取区域名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com