2015-04-27 2 views
0

Моя модель классаОтображение списка в View

public class User 
{ 
    public string UserName { get; set; }  
    public string Password { get; set; } 
    public List<string> Clients { get; set; } 
} 

Я кладу класс модели в сессии

Session[Constants.User] = user; 

На мой взгляд, я хочу использовать мой Session [Constants.User], вынимают список клиентов из модели объекта и дисплей .. до сих пор у меня есть объект, содержащий все точки зрения, используя это,

var clientsList = (Session[Constants.User]); 

Как вывести список из этого и отобразить? Заранее спасибо ...

+1

Использование сеанса - это не лучший способ заниматься делами в любом случае. вы должны передать данные, которые хотите отобразить через свою модель, а затем привязать их к представлению, вы также получите его строго типизированным в этом экземпляре, который будет выигрышем. –

+0

Как вы хотите отобразить это? divs, table, drop down, anchor tags ...? – JasonWilczak

+0

@ Jason- Как отделить список от этой сессии? –

ответ

0

Хорошо, я согласен, что вы должны использовать модель для передачи вашей информации о пользователе, но, как говорится, самым простым способом является простая итерация. Сначала вам нужно указать свою переменную (see this SO post about using Session).

@{ 
    var clientsList = (Session[Constants.User] as User).Clients; 
} 

@foreach(var user in clientsList) 
{ 
    <div class="color_text"><h2>@user</h2></div> 
} 

Вы можете создать свой статический html, а затем использовать его для повтора для разных пользовательских данных объекта.

+0

Джейсон, когда я использую литье 'как Список ;' в var clientsList = Session [Constants.User] как Список ; моя переменная дает значение null, без переменной cast показывает два значения ... –

+0

Да, я обновил свой ответ, чтобы передать его объекту User, – JasonWilczak

0

Если у вас модель:

public class User 
{ 
    public string UserName { get; set;} 
    public string Password { get; set;} 
    public List<string> Clients { get; set;} 
} 

и вы имели

Session[Constants.User] = new User({ UserName = "someusername", Password =  "somepassword", Clients = new List<string>() }); 

Вы можете захватить ваш объект пользователя из сеанса, как это:

User user = (User)(Session[Constants.User]);' 

Затем, вы можете проходное и отобразится следующим образом: если вы находитесь в поле зрения:

@foreach (String client in user.Clients) 
{ 
    <div class="color_text"> 
     <h2>@client</h2> 
    </div> 
} 
+0

Извините, вместо «var clientsList» он должен быть «var user» .. И это получит модель User, потому что я поставил свою модель в Session: -Session [Constants.User] = пользователь; и эта модель имеет одно свойство list..var clientsList = (Список ) (Session [Constants.User]); дадут мне модель, как вывести Клиентов (список которых) из этого var clientsList? –

+0

В этом случае вы можете вывести Клиентов, выполнив: foreach (String-клиент в user.Clients) –