文字列のリストを返すメソッドがあります。そのリストをビューにプレーンテキストとして表示したいだけです。
これはコントローラからのリストです:
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();
}
}
そしてビュー:
<table class="adminContent">
<tr>
<td>HEJ</td>
</tr>
<tr>
<td>@Html.Action("Service", "Service")</td>
</tr>
</tr>
</table>
Foreachループのようなビューで何かをし、 "@"を使用してリストを参照する必要があると思いますが、どうやって?
アクションメソッドService
はView
を返す必要があります。この後、Service()メソッドの戻り値の型を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());
}
この後、ビューでモデルを参照します。
@model List<string>
@foreach (var element in Model)
{
<p>@Html.DisplayFor(m => element)</p>
}
私の例では、ActionResultは次のようになります。
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);
}
結果は次のとおりです。
ビューで次のように実行できます。
@foreach (var item in @Model)
{
<li>@item.PropertName</li>
}