получение данных списка из ViewData в mvc2

я пытаюсь получить список данных из View Data Вот метод, который получает список всех клиентов из базы данных

public List<ClientsModels> GetAllClients()
        {
            String conStr = conn.GetAccessConnString();
            using (OleDbConnection con = new OleDbConnection(conStr))
            {
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    con.Open();
                    cmd.Connection = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = "SELECT * FROM Customers";

                    OleDbDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.Default);
                    List<ClientsModels> allClientsList = new List<ClientsModels>();

                    while (reader.Read())
                    {
                        allClientsList.Add(new ClientsModels()
                        {
                            UserID = Convert.ToString(reader["userID"]),
                            Name = Convert.ToString(reader["Name"]),
                            Email = Convert.ToString(reader["Email"]),
                            Phone = Convert.ToString(reader["Phone"])


                        });
                    }

                    cmd.Dispose();
                    con.Close();
                    con.Dispose();
                    return allClientsList;
                }
            }
        }

а вот контроллер

public ActionResult Customers()
        {
            GetSetData data = new GetSetData();

            ViewData["AllClients"] = data.GetAllClients();

          return View();
        }

а вот вид

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/NewMaster.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    Customers
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Customers</h2>
    <%: ViewData["AllClients"].ToString() %>

</asp:Content>

это возвращает меня

System.Collections.Generic.List`1[MvcApplication5.Models.ClientsModels]

вопрос в том, как я могу получить все данные один за другим, которые есть в списке


person Addy    schedule 23.05.2014    source источник


Ответы (1)


Сначала приведите ViewData["AllClients"] к List<ClientsModels>, а затем используйте цикл.

Использовать

<% foreach (var clientsModel in ViewData["AllClients"] as List<MvcApplication5.Models.ClientsModels>){ %>
    <label><%= clientsModel.Name %></label>                     
<% } %>
person Satpal    schedule 23.05.2014
comment
он говорит, что List‹ClientsModels› не найден. мне нужно создать строго типизированное представление для этой модели? - person Addy; 23.05.2014
comment
@AdilWaqar, добавьте правильное пространство имен вашего класса, например List<YourAppicationNamespace.ClientsModels> - person Satpal; 23.05.2014