如何使用foreach循环呈现MVC中的数据列表?

时间:2014-05-09 09:18:03

标签: asp.net-mvc foreach

我刚开始学习ASP MVC。到目前为止,我使用的是Web表单,我从Web表单Web应用程序中获得了很多类。使用GridViews工作正常,现在我正在寻找一个解决方案如何在MVC中显示数据库中的数据。我有很多像这样的课程:

public class zmienneWczytywanieTresci
{
    public int druzynaID { get; set; }
    public string Druzyna { get; set; }
    public string LiczbaMeczy { get; set; }
    public string LiczbaGoliStrzelonych { get; set; }
    public string LiczbaGoliStraconych { get; set; }
    public string Zwyciestwa { get; set; }
    public string Remisy { get; set; }
    public string Porazki { get; set; }
    public string Punkty { get; set; }
 }

    public static List<zmienneWczytywanieTresci> wczytajTabele(string query, string grupa)
    {
        List<zmienneWczytywanieTresci> wczytajTabele = new List<zmienneWczytywanieTresci>();
        string CS = ConfigurationManager.ConnectionStrings["ligiConnection"].ConnectionString;
        using (SqlConnection con = new SqlConnection(CS))
        {
            con.Open();
            SqlCommand com = new SqlCommand(query, con);
            com.Parameters.AddWithValue("@Grupa", grupa);
            SqlDataReader rdr = com.ExecuteReader();

            while (rdr.Read())
            {
                zmienneWczytywanieTresci infoTabela = new zmienneWczytywanieTresci();
                int druzynaID = Convert.ToInt32(rdr["Druzyna"]);
                infoTabela.Druzyna = wczytajNazweKlubu(druzynaID);
                infoTabela.LiczbaMeczy = rdr["LiczbaMeczy"].ToString();
                infoTabela.LiczbaGoliStrzelonych = rdr["LiczbaGoliStrzelonych"].ToString();
                infoTabela.LiczbaGoliStraconych = rdr["LiczbaGoliStraconych"].ToString();
                infoTabela.Zwyciestwa = rdr["Zwyciestwa"].ToString();
                infoTabela.Remisy = rdr["Remisy"].ToString();
                infoTabela.Porazki = rdr["Porazki"].ToString();
                infoTabela.Punkty = rdr["Punkty"].ToString();

                wczytajTabele.Add(infoTabela);
            }
            return wczytajTabele;
        }
    }

是否可以使用foraech循环显示该列表中的数据?我正在用这个lis创建一个ViewBag ..我现在不知道该怎么做,我找不到任何解决方案。非常感谢任何建议!

2 个答案:

答案 0 :(得分:1)

您将创建一个ViewModel(或您当前拥有的模型zmienneWczytywanieTresci),它代表您想要在屏幕上显示的内容,然后使用foreach循环显示它。

如果你是mvc的新手,我建议你按照教程进行操作,这样你就可以用mvc而不是webform来思考。

我建议将mvc音乐商店作为教程: http://www.asp.net/mvc/tutorials/mvc-music-store

对于您的问题,请查看代码的教程的第5部分: http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-5

修改

如果您正在阅读教程的第5部分,那么以

开头的代码
@model IEnumerable<MvcMusicStore.Models.Album>

显示了如何遍历列表,在您的情况下

@model List<zmienneWczytywanieTresci>

将是模型,其余的是你想要显示列表的方式

答案 1 :(得分:1)

代码示例。

创建强类型视图(通过定义模型的类型)并在您想要时使用它。对于您的示例,这是一个简单的迭代:

@model IEnumerable<zmienneWczytywanieTresci>

<ul>
@foreach (var myItem in Model)
{
    <li>@myItem.Druzyna</li>
    <li>@myItem.LiczbaMeczy</li>
    <li>@myItem.LiczbaGoliStrzelonych</li>
}
</ul>