2014-05-09 70 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