2016-10-18 3 views
0

я заполняю значение сеанса как следующее retrive тех, ввиду _LayoutPartialпеременных значения сеанса в _LayoutPartial извлечение в ASP.NET MVC

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 }); 
} 

Я хочу retrive этих значений в _LayoutPartial View, поэтому я попытался что-то вроде

<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

Смежные вопросы