Подтвердить что ты не робот

Как мне получить доступ к свойству Nancy CurrentUser из представления Razor?

Я пытаюсь получить доступ к свойству CurrentUser NancyContext. Как это сделать из html представления Razor?

Я был бы признателен за фрагмент кода, если это возможно.

Спасибо

Edit

Теперь я расширяю 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 для всплывающего окна Sign In (Foundation Reveal) только в том случае, если пользователь в настоящее время не аутентифицирован - имеет смысл.

@if (!Html.IsAuthenticated())
{
    Html.Partial("Reveals/SignInReveal");
}  
4b9b3361

Ответ 1

Вы можете получить доступ к NancyContext через свойство Html свойство RenderContext.

Использование примера:

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

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

Однако, если вы используете SuperSimpleViewEngine (спасибо комментарию @Sean), вы можете сделать подобное, используя

@Context.CurrentUser.UserName