2014-05-09 35 views
0

我刚开始学习ASP MVC。到目前为止,我使用的是Web表单,并且我从Web表单Web应用程序中获得了很多类。随着GridViews工作正常,现在我正在寻找一个解决方案如何在MVC中呈现数据库中的数据。我有很多这样的课程:如何使用foreach循环展示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 ..我现在不知道该怎么做,我找不到任何解决方案。非常感谢您的任何建议!

+0

你为什么不使用EF和LINQ它\ –

回答

1

示例代码。

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

@model IEnumerable<zmienneWczytywanieTresci> 

<ul> 
@foreach (var myItem in Model) 
{ 
    <li>@myItem.Druzyna</li> 
    <li>@myItem.LiczbaMeczy</li> 
    <li>@myItem.LiczbaGoliStrzelonych</li> 
} 
</ul> 
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> 

将是模型,剩下的就是要如何diplay列表

+0

感谢您的回答,我将与尝试! – Shagohad