【问题标题】:getting List data from ViewData in mvc2从 mvc2 中的 ViewData 获取列表数据
【发布时间】:2014-07-12 11:20:13
【问题描述】:

我正在尝试从查看数据中获取数据列表 这是从数据库中获取所有客户端列表的方法

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]

问题是我如何才能一一获取列表中的所有数据

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-2 viewdata


    【解决方案1】:

    首先将ViewData["AllClients"] 转换为List&lt;ClientsModels&gt; as 然后使用循环。

    使用

    <% foreach (var clientsModel in ViewData["AllClients"] as List<MvcApplication5.Models.ClientsModels>){ %>
        <label><%= clientsModel.Name %></label>                     
    <% } %>
    

    【讨论】:

    • 它说 List 找不到。我需要为这个模型创建一个强类型视图吗?
    • @AdilWaqar,添加适当的类命名空间,例如List&lt;YourAppicationNamespace.ClientsModels&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多