NancyContext
'un CurrentUser
özelliğine erişmeye çalışıyorum. Bunu bir Razor görünümündeki html'den nasıl yaparım?Nancy'nin CurrentUser özelliğine Jilet görünümü içinden nasıl erişirim?
Mümkünse bir kod parçacığı için minnettar olurum.
Teşekkür
Düzenleme
şimdi görünümü kod veciz ve okunabilir tutar sözdizimsel şeker ile bana çapraz görüntüleme verilerini vermek Nancy.ViewEngines.Razor.HtmlHelpers
uzanır.
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;
}
Ve bir görünümden bazı jilet kodu: Burada
birkaç örnektir. Burada, yalnızca kullanıcı şu anda doğrulanmamışsa, bir Oturum Açma açılır penceresine (Foundation Reveal) html eklemeyi tercih ediyorum - mantıklı.@if (!Html.IsAuthenticated())
{
Html.Partial("Reveals/SignInReveal");
}
Herhangi bir sebep kullanarak benzer yapabilir modelde mi? – JefClaes
Evet. CurrentUser bilgisi birçok görünümde kullanılır, ancak hepsi değil. Bu nedenle, her bir görünüm için modeli kurmayı hatırlamak zorunda kalmadan, tek bir tekrar kullanılabilir yerde merkezileştirmek daha kolaydır. Ben Razor.HtmlHelpers uzantısı yöntemleri – biofractal