Tôi đang cố truy cập thuộc tính CurrentUser
của số NancyContext
. Làm cách nào để làm điều này từ bên trong html của chế độ xem Dao cạo?Làm cách nào để truy cập thuộc tính CurrentUser của Nancy từ trong chế độ xem Dao cạo?
Tôi sẽ biết ơn một đoạn mã nếu có thể.
Cảm ơn
Sửa
bây giờ tôi mở rộng Nancy.ViewEngines.Razor.HtmlHelpers
để cho tôi qua xem dữ liệu với đường cú pháp mà giữ ngắn gọn xem mã và có thể đọc được.
Dưới đây là một vài ví dụ:
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;
}
Và một số mã như dao cạo từ một cái nhìn. Ở đây tôi quyết định bao gồm html cho cửa sổ bật lên Đăng nhập (Foundation Reveal) chỉ khi người dùng hiện không được xác thực - có ý nghĩa.
@if (!Html.IsAuthenticated())
{
Html.Partial("Reveals/SignInReveal");
}
Bất kỳ lý do tại sao bạn không đặt nó trên mô hình? – JefClaes
Có. Thông tin CurrentUser được sử dụng trên nhiều chế độ xem, nhưng không phải tất cả. Vì vậy, dễ dàng tập trung điều này ở một nơi có thể sử dụng lại thay vì phải nhớ thiết lập mô hình cho từng chế độ xem. Tôi tìm thấy nó thuận tiện hơn nhiều để cung cấp dữ liệu xem chéo thông qua các phương pháp mở rộng Razor.HtmlHelpers – biofractal