J'ai une méthode qui renvoie une liste de chaînes. Je voudrais simplement afficher cette liste dans une vue comme texte brut.
Voici la liste du contrôleur :
public class ServiceController : Controller
{
public string Service()
{
//Some code..........
List<string> Dates = new List<string>();
foreach (var row in d.Rows)
{
Dates.Add(row[0]);
}
return Dates.ToString();
}
public ActionResult Service()
{
Service();
}
}
et la vue :
<table class="adminContent">
<tr>
<td>HEJ</td>
</tr>
<tr>
<td>@Html.Action("Service", "Service")</td>
</tr>
</tr>
</table>
Je pense que je dois faire quelque chose dans l'affiche comme une boucle de foresach et et référons la liste en utilisant "@" mais comment?
Votre méthode d'action Service
doit renvoyer un View
. Après cela, le type de retour de votre service () à partir de string
à List<string>
public List<string> Service()
{
//Some code..........
List<string> Dates = new List<string>();
foreach (var row in d.Rows)
{
Dates.Add(row[0]);
}
return Dates;
}
public ActionResult GAStatistics()
{
return View(Service());
}
Après cette référence, le modèle à votre vue:
@model List<string>
@foreach (var element in Model)
{
<p>@Html.DisplayFor(m => element)</p>
}
Dans mon exemple, l'actionResulte ressemble à ceci:
public ActionResult List()
{
List<string> Dates = new List<string>();
for (int i = 0; i < 20; i++)
{
Dates.Add(String.Format("String{0}", i));
}
return View(Dates);
}
Qui a entraîné la sortie:
Vous pouvez le faire comme suit dans la vue,
@foreach (var item in @Model)
{
<li>@item.PropertName</li>
}