2013-05-21 4 views
2

У меня есть приложение asp.net mvc. в контроллере у меня есть это:Список моделей бритва

public ActionResult Index() 
     { 
      Upload.Models.ClientModels model1 = new Models.ClientModels(); 
      ArrayList client = model1.Client_List(); 

      Upload.Models.AkeoModels model2 = new Models.AkeoModels(); 
      ArrayList akeo = model2.Akeo_List(); 


      ArrayList model = new ArrayList(); 
      model.Add(client); 
      model.Add(akeo); 
      return View(model); 




     } 

Я прошел два каскадный список индекса вида в качестве модели:

@{ 
    ViewBag.Title = "Bienvenue"; 
    int i = 0; 
} 

<hgroup class="title"> 
    <h1 style="color:darkcyan">Liste des clients</h1> 
</hgroup> 

<section > 

<form> 


<table style="margin-top: 50px;"> 
    <tr ><td ></td> 
     <td ><center><b>Login</b></center></td> 
     <td><center><b>Email</b></center></td> 
     <td><center><b>Password</b></center></td> 
     <td><center><b>Name</b></center></td> 

    </tr> 
    @{ 
     Upload.Models.ClientModels client = null; 
     int j = 0; 
     while(j != -1) 
    { 
     try 
     { 
      client = Model[j]; 
      <tr> 
     <td width=10px> 
      @if (i == 0) 
      { 
     <input type="radio" 
     name="color" checked > 
      } 
      else 
      {<input type="radio" name="color" > 
      }  
    </td> 
    <td> 
     <a type="text" 
     name="color" >@client.Login</a> 
    </td> 

    <td> 
     <a type="text" 
     name="color" >@client.Mail</a> 
    </td> 
     <td> 
     <a type="text" 
     name="color" >@client.Password</a> 
    </td> 
     <td> 
     <a type="text" 
     name="color" >@client.Name</a> 
    </td> 
    </tr> 
      i++; 
      j++; 
     } 
     catch {j = -1;} 
    } 
     i = 0; 
    } 

</table> 

</form> 

</section> 

<section style="margin-top: 30px"> 

    <a type="button" style="width:120px;display:inline-block; height:20px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan;margin-left:150px" href="@Url.Action("Delete_client", "Admin")">Supprimer</a> 
    <a type="button" style="width:120px;display:inline-block; height:20px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan;" href="@Url.Action("Edit_client", "Admin",new { Id = 1 })">Editer</a> 
    <br /> <br /> 
    <a href="@Url.Action("Create","Client")" style="color:blue; margin-top : 30px;margin-left:150px">Créer un nouveau compte</a> 

    </section> 
    <br /> 
<section> 
<hgroup class="title"> 
    <h1 style="color:darkcyan">Liste des akeos</h1> 
</hgroup> 

<section > 

<form> 


<table style="margin-top: 50px;"> 
    <tr ><td ></td> 
     <td ><center><b>Login</b></center></td> 
     <td><center><b>Email</b></center></td> 
     <td><center><b>Password</b></center></td> 
     <td><center><b>Name</b></center></td> 

    </tr> 
    @{ 
     Upload.Models.AkeoModels akeo = null; 
     int k = 0; 
     while(k < Model.Count) 
    { 
     try 
     { 
      akeo = Model[k]; 

    <tr> 
     <td width=10px> 
      @if (i == 0){ 
     <input type="radio" 
     name="color" checked > 
      } 
      else{<input type="radio" name="color" > 
      }  
    </td> 
    <td> 
     <a type="text" 
     name="color" >@akeo.Login</a> 
    </td> 

    <td> 
     <a type="text" 
     name="color" >@akeo.Mail</a> 
    </td> 
     <td> 
     <a type="text" 
     name="color" >@akeo.Password</a> 
    </td> 
     <td> 
     <a type="text" 
     name="color" >@akeo.Name</a> 
    </td> 
    </tr> 
     i++; 
      k++; 
     } 
     catch {k++;} 
    } 
    } 
</table> 
</form> 

</section> 






<section style="margin-top: 30px"> 


    <a type="button" style="width:120px;display:inline-block; height:20px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan;margin-left:150px" href="@Url.Action("Delete_akeo", "Admin",new { Id = 1})">Supprimer</a> 
    <a type="button" style="width:120px;display:inline-block; height:20px;text-decoration:none;color:white;text-align:center;background-color:darkcyan;padding:5px;border-style:outset;border-width:2px;border-color:darkcyan;" href="@Url.Action("Edit_akeo", "Admin",new { Id = 1 })">Editer</a> 
    <br /> <br /> <br /> 
    <a href="@Url.Action("Create","Akeo")" style="color:blue; margin-top : 30px;margin-left:150px">Créer un nouveau compte</a> 

    </section> 

    </section> 

Проблема в том, что значения в списке не отображается. в представлении Index показаны только метки и кнопки под таблицами, но содержание модели не является. Я отлаживаю программу, а модель не пуста, она содержит два элемента.

  1. Где ошибка в представлении?
  2. Как я могу это исправить?

ответ

4

Нельзя использовать ArrayList. Вы должны создать настраиваемый тип, содержащий свойства обеих моделей.

Например:

public class CustomModel 
{ 
    public int PropertyOne { get; set; } 
    public string PropertyTwo { get; set; } 
} 

Или в качестве альтернативы вы можете иметь:

public class CustomModel2 
{ 
    public List<Models.ClientModels> ClientModels { get; set; } 
    public List<Models.Akeo_List> AkeoModels { get; set; } 
} 

Контроллер:

public ActionResult Index() 
{ 
    var model = new List<CustomModel>(); 
    model.Add(new CustomModel() { }); 
    return View(model); 
} 

Посмотреть

@Model List<CustomModel> 

foreach(var cm in @Model) { 
    cm.PropertyOne 
} 

Если вы использовали CustomModel2 вы можете перебрать все клиенты, выполнив:

foreach (var client in @Model.ClientModels) { 
     @client.ClientName 
    } 
0

Вы делаете бит M и V в MVC немного странным вы пытались с помощью @Html. EditorFor()? что касается вашего кода.

Вы не включили

@model decleration в верхней части представления.

EDIT: Извините, я только что прочитал ваш код, и этот бит неверен.


Вы устанавливаете клиент в нуль, а затем пропустите его.

Загрузить.Models.ClientModels client = null;


Идентификатор рекомендую прочитать некоторые Darins пост https://stackoverflow.com/users/29407/darin-dimitrov он имеет отличные сообщения MVC о модели и вида конструкции

Смежные вопросы