ActionExecutingContextのCancelプロパティはどうなりましたか?ActionFilterAttributeを使用するときにRenderActionを中止するにはどうすればよいですか、それともこの猫の皮を剥ぐ別の方法はありますか?
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
return;
}
base.OnActionExecuting(filterContext);
}
上記のコードは、OnActionExecuting操作を終了しても、適用されたアクションを実行し続けますか?
---元の投稿へさらに: 以下の回答に感謝しますが、コンテキストを十分に明確にしたとは思いません。次の呼び出しを無効にしようとしています。
<% Html.RenderAction("Menu", "Shared", new { id = Model.OtherUserId }); %>
ユーザーが認証されていない場合、このアクションは何も返さないはずです。ビューに「if」ブロックを簡単に配置できますが、ルールをコントローラーに保持したいと思います。