2013-01-10 35 views
0

我有一組會話密鑰,我在全局類文件中聲明,這些密鑰在登錄時得到正確設置。在Umbraco中訪問全局會話密鑰

public static class SessionKeys 
{ 
    public static string memberToken = "token"; 
    public static string memberFirstName = "first_name"; 
    public static string role_pmn = "PMNInstructor"; 
    public static string role_superUser = ""; 
    public static string role_chapterAdmin = "ChapterMember"; 
    public static string role_registeredUser = "RegisteredUser"; 
} 

我需要稍後訪問XSLT宏中的某些會話變量以進行導航。我無法找到在XSLT宏中訪問這些變量的正確語法。

該語法同樣適用於我的.NET宏:

Session[Globals.SessionKeys.role_pmn] 
+0

如何運行XSLT?無論如何,我想你可以將參數傳遞給你的XSLT。 –

回答

0

語法與用於在C#中訪問它們的內容不同。您只需使用您設置密鑰的字符串值即可。

umbraco.library:Session(PMNInstructor) 
1

的正確語法應該是 umbraco.library:會議

This link應該提供更多的信息。

或者,你可以在XSLT訪問全局會話密鑰創建一個擴展庫,拿在.NET中的引用,然後只是引用您的庫在XSLT(umbraco.tv video參考,或text-only instructions

+0

是的,umbraco.library:會話用於撤回會話對象,即umbraco.library:Session('userName')。但是這是撤回我的全局會話密鑰的語法,似乎沒有飛。 我會嘗試創建一個擴展庫。 – JGrimm