2016-09-21 7 views
0

Je suis nouveau sur ASP.NET et MVC 2. J'essaie de parcourir une liste de listes de chaînes dans ma page de vue. Cependant, je ne peux pas obtenir de données à afficher.Impossible d'afficher les éléments de la liste dans ViewData Dictionary

Code du contrôleur.

public class RCADSChildController : Controller 
{ 
    // 
    // GET: /RCADSChild/ 

    public ActionResult Index() 
    { 
     var model = new RCADSChildViewModel(); 
     ViewData["DataList"] = model.Data; 
     ViewData["Count"] = model.Amount; 

     Debug.WriteLine(model.Amount); 


     return View(model); 
    } 

} 

Modèle

public class RCADSChildViewModel 
{ 
    public int Amount { get; set;} 
    public List<List<String>> Data { get; set; } 

    public RCADSChildViewModel() 
    { 
     Queries connect = new Queries(); 
     Data = connect.getQuestionData(); 
     Amount = Data.Count; 
    } 
} 

Voir

<div class="col-md-6"> 
      <% 

       foreach (List<String> list in ViewData["DataList"] as List<List<String>>) 
        { 
         list[0].ToString(); 
         list[1].ToString(); 
         list[2].ToString(); 
         list[3].ToString();  
        } 
      %> 

Les listes sont certainement remplis avec des données comme je l'ai vérifiée à l'aide Debug.WriteLine().

Toute aide serait grandement appréciée.

+0

Pourquoi dans le monde que vous utilisez 'ViewData' lorsque vous en passant déjà les valeurs dans votre modèle? –

Répondre

0

Vous les convertissez simplement en chaîne et ne les écrivez pas réellement.

Je crois que vous voulez quelque chose comme:

  <% 

      foreach (List<String> list in ViewData["DataList"] as List<List<String>>) 
       { %> 
        <%= list[0].ToString(); %> 
        <%= list[1].ToString(); %> 
        <%= list[2].ToString(); %> 
        <%= list[3].ToString(); %> 
       <% 
       } 
     %>