2016-10-18 50 views
0

我填充值會話的像下面以檢索那些_LayoutPartial視圖會話的變量值在asp.net mvc的檢索中_LayoutPartial

if (userdata != null) 
{ 
    Session["userdata"] = new SampleViewModel { FirstName = userdata.UserFirstName, LastName = userdata.UserLastName }; 
    FormsAuthentication.SetAuthCookie(loginmodel.UserName, false); 
    return RedirectToAction("Dashboard", "Home", new { username = loginmodel.UserName }); 
} 

我想以檢索在_LayoutPartial查看這些值,所以,我想事端如下

<a class="sa"> 
    (@Session["userdata"] as ProjectName.Models.SampleViewModel).FirstName 
    (@Session["userdata"] as ProjectName.Models.SampleViewModel).LastName 
</a> 

但這不是正確檢索數據。在此_LoginPartial中我也沒有提及任何模型

回答

1

您的圓括號在錯誤的位置,並且您需要雙重設置 - 一個用於投射(內部設置)和一個用於剃鬚刀執行(外部設置)。它需要

@((Session["userdata"] as ProjectName.Models.SampleViewModel).Name) 
+0

是那個我的方法最佳的方式,展現了user.FirstName,user.LastName上_LayoutPartial如果我不遵循任何會員供應商 – kez

+1

我個人有使用鹼的視圖模型在視圖中,我會將值添加到'FormAuthenticationTicket',而不是使用'Session',但是您的操作沒有任何問題 –

+0

好的謝謝你的幫助:) – kez