Como faço para acessar Nancy CurrentUser propriedade de dentro de uma Navalha vista?

StackOverflow https://stackoverflow.com//questions/11688451

  •  12-12-2019
  •  | 
  •  

Pergunta

Estou tentando acessar o CurrentUser propriedade do NancyContext.Como posso fazer isso de dentro do html de uma Navalha vista?

Eu ficaria muito grato por um trecho de código, se possível.

Obrigado

Editar

Eu agora estender Nancy.ViewEngines.Razor.HtmlHelpers para me dar cross-exibir os dados com um açúcar sintático que mantém o modo de exibição de código concisa e legível.

Aqui estão alguns exemplos:

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;
}

E alguns navalha de código a partir de um modo de exibição.Aqui eu estou decidindo incluem o html de um Sinal Em pop-up (Fundação Revelar) apenas se o usuário não está autenticado - faz sentido.

@if (!Html.IsAuthenticated())
{
    Html.Partial("Reveals/SignInReveal");
}  
Foi útil?

Solução

Você pode acessar o NancyContext através do Html propriedade RenderContext propriedade.

Um exemplo de uso:

@inherits Nancy.ViewEngines.Razor.NancyRazorViewBase<dynamic>

<p>Current User: @Html.RenderContext.Context.CurrentUser </p>

No entanto, se estiver a utilizar o SuperSimpleViewEngine (graças a comentário @Sean) então você pode fazer semelhante usando o

@Context.CurrentUser.UserName
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top