문제

내 행동 방법에 대한 승인을 사용자 정의하기 위해 확장 클래스를 작성했으며 특정 조건이 충족 될 때 내보기에 메시지를 주입 할 수 있기를 원합니다. 나는 "아래 코드를 사용하여 사용자가 승인되지 않았을 때 공유 뷰를로드하지만 내 ViewData 컬렉션에 내 메시지를 추가하지는 않습니다. 아이디어가 있습니까?

public override void OnAuthorization(AuthorizationContext filterContext)
{
    base.OnAuthorization(filterContext);
    if (IsNotAuthorized)
    {
        filterContext.Result = new ViewResult { ViewName = "NotAuthorized" };
        filterContext.Controller.ViewData["Message"] = "Go Away";
    }
}

또한 ViewData [ "Message"] 수집 항목을 호출 위에 설정하려고 시도했습니다.

도움이 되었습니까?

해결책

당신은 시도 했습니까?

filterContext.Result = new RedirectResult("Home/Index");

ViewData를 추가하는 방법을 모르겠지만 최소한 승인되지 않은 컨트롤러로 연결됩니다.

나는 그 결과 또는 누군가가 게시 할 때까지 데이터를보기 위해 추가 할 코드를 계속 찾고 있습니다.

편집하다

이것은 도움이 될 수 있습니다.

사용자 정의 필터 속성에서 ActionExecutingContext 값 변경

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top