C'est ma méthode d'action, classe de modèle, et vue quand je cours l'erreur de code vient: instruction foreach ne peut pas fonctionner sur des variables de type «login.Models.Member1» parce que ' login.Models.Member1 'ne contient pas de définition publique pour' GetEnumerator. Aidez-moi, s'il vous plaît !!.Je veux afficher mes données de table dans la vue (MVC)
public ActionResult Details(Member1 mem)
{
var name = mem.Name;
var age = mem.Age;
var sex = mem.Sex;
var fees = mem.Fees;
OracleConnection connection = new OracleConnection();
connection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DBConnectionDHC"].ToString();
connection.Open();
OracleCommand command = connection.CreateCommand();
string sql = "SELECT * FROM MEMBER";
command.CommandText = sql;
return View();
}
Mon modèle:
public class Member1
{
public String Name { get; set; }
public String Age { get; set; }
public String Sex { get; set; }
public String Fees { get; set; }
}
Vue:
@model login.Models.Member1
@{
ViewBag.Title = "Details";
Layout = null;
}
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Sex</th>
<th>Fees</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Name</td>
<td>@item.Age</td>
<td>@item.Sex</td>
<td>@item.Fees</td>
</tr>
}
</tbody>
</table>
Vous avez plusieurs erreurs - votre point de vue doit être '@model IEnumerable' - soit une collection . Mais alors vous devez passer un modèle à la vue - 'return View (model);' dans le contrôleur - mais pas où avez-vous déjà initialisé un modèle et votre code n'exécute même pas votre 'command'. Et votre paramètre 'Member1 mem' dans la méthode n'a aucun sens. –