Estoy tratando de acceder a la propiedad CurrentUser
del NancyContext
. ¿Cómo hago esto desde el html de una vista Razor?¿Cómo accedo a la propiedad CurrentUser de Nancy desde una vista Razor?
Le agradecería un fragmento de código si es posible.
Gracias
Editar
que se extienden ahora Nancy.ViewEngines.Razor.HtmlHelpers
darme datos cruzada vista con el azúcar sintáctica que mantiene el código de la vista concisa y fácil de leer.
Éstos son algunos ejemplos:
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;
}
y algo de código de afeitar desde un punto de vista. Aquí estoy decidiendo incluir el html para una ventana emergente de inicio de sesión (Foundation Reveal) solo si el usuario no está autenticado en ese momento, tiene sentido.
@if (!Html.IsAuthenticated())
{
Html.Partial("Reveals/SignInReveal");
}
Cualquier razón por la que no pone en el modelo? – JefClaes
Sí. La información de CurrentUser se usa en muchas vistas, pero no en todas. Por lo tanto, es más fácil centralizar esto en un único lugar reutilizable en lugar de tener que recordar configurar el modelo para cada vista. Me resulta mucho más conveniente proporcionar datos de vista cruzada a través de los métodos de extensión Razor.HtmlHelpers – biofractal