gpt4 book ai didi

model-view-controller - ActionFilterAttribute: 'Cancel' 属性在哪里?

转载 作者:行者123 更新时间:2023-12-04 08:40:15 24 4
gpt4 key购买 nike

ActionExecutingContext 上的 Cancel 属性发生了什么变化? 使用 ActionFilterAttribute 时如何中止 RenderAction 或者是否有另一种方法来给这只猫剥皮?

  public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
return;
}
base.OnActionExecuting(filterContext);
}

尽管退出了 OnActionExecuting 操作,上面的代码继续执行它已经应用到的 Action?

--- 进一步原帖:
感谢下面的回答,但是,我认为我的上下文不够清楚,我试图使以下调用无效:
<% Html.RenderAction("Menu", "Shared", new { id = Model.OtherUserId }); %>

当用户未通过身份验证时,此操作不应返回任何内容,我可以轻松地在 View 上放置一个“if”块,但是,我希望将规则保留在 Controller 中。

最佳答案

这对马蒂亚斯很有用,结果是这样的:

    public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new EmptyResult();
return;
}
base.OnActionExecuting(filterContext);
}

关于model-view-controller - ActionFilterAttribute: 'Cancel' 属性在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2139122/

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