는 내가 NancyContext
의 CurrentUser
속성에 액세스하는 것을 시도하고있다. Razor보기의 html 내에서 어떻게 수행합니까?면도기 뷰에서 낸시의 CurrentUser 속성에 액세스하려면 어떻게합니까?
나는 코드 조각 가능한 경우에 감사 할 것이다.
감사
편집
지금은보기 코드를 간결하고 읽기를 유지 문법 설탕과 나에게 크로스보기 데이터를 제공하는 Nancy.ViewEngines.Razor.HtmlHelpers
을 확장합니다.
public static bool IsRegistered<T>(this HtmlHelpers<T> html)
{
var user = GetUser(html);
return user != null && user.IsRegistered;
}
public static bool IsAuthenticated<T>(this HtmlHelpers<T> html)
{
return GetUser(html) != null;
}
public static User GetUser<T>(this HtmlHelpers<T> html)
{
return (User)html.RenderContext.Context.CurrentUser;
}
그리고보기에서 일부 면도칼 코드 : 여기
은 몇 가지 예입니다. 여기에서는 사용자가 현재 인증되지 않은 경우에만 로그인 팝업 (html)을 포함하도록 결정합니다 (Foundation Reveal).@if (!Html.IsAuthenticated())
{
Html.Partial("Reveals/SignInReveal");
}
모든 이유를 사용하여 비슷한 할 수있는 모델에요? – JefClaes
예. CurrentUser 정보는 여러보기에서 사용되지만 모두는 사용할 수 없습니다. 따라서 각각의 뷰에 대해 모델을 설정하는 것을 잊지 않고 단일 재사용 장소에 중앙 집중화하는 것이 더 쉽습니다. 나는 그것이 훨씬 더 편리 나는 면도기보기 엔진 내 상황에 대해이 알고 Razor.HtmlHelpers 확장 방법 – biofractal