在我的模型中,我有以下字符串列表:
public static List<string> listOfNames = new List<string>();
在控制器中,我有以下操作:
public ActionResult NameInput()
{
NameModel.prepareList();
return View("NameInput", NameModel.listOfNames);
}
在视图的顶部,我有这个:
@model IEnumerable<Exercise_3.Models.NameModel>
我想这是错误的地方,但是我不知道该用什么。从一开始,当我有一个对象列表时,这一行就可以了,但是现在我只想使用字符串列表。
运行应用程序时收到的错误消息如下:
传递到词典中的模型项的类型为'System.Collections.Generic.List`1 [System.String]',但是此词典需要模型类型为'System.Collections.Generic.IEnumerable`1 [Exercise_3.Models .NameModel]”。
最佳答案
您要发送到视图的模型是listOfNames
的NameModel
属性值。 listOfNames
属性的类型为List<string>
。但是在剃刀视图中,您将模型类型指定为IEnumerable<Exercise_3.Models.NameModel>
。那些不匹配。
您可以更新剃刀视图以使用List<string>
作为模型类型
@model List<string>
<h1>Items</h1>
@foreach(var item in Model)
{
<h2>@item</h2>
}