Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在MVC Razor中使用实体框架创建动态列表_C#_Asp.net Mvc_Entity Framework_Razor_Asp.net Mvc 5 - Fatal编程技术网

C# 在MVC Razor中使用实体框架创建动态列表

C# 在MVC Razor中使用实体框架创建动态列表,c#,asp.net-mvc,entity-framework,razor,asp.net-mvc-5,C#,Asp.net Mvc,Entity Framework,Razor,Asp.net Mvc 5,我想使用存储过程和实体框架创建一个列表,用车辆品牌填充,但当它出现以下错误时: 传递到字典中的模型项的类型为“System.Collections.Generic.List1[System.String]”,但此字典需要类型为“System.Collections.Generic.IEnumerable1[VehicleInfo.Models.Tblehicle]”的模型项 型号 public partial class tblVehicle { public s

我想使用存储过程和实体框架创建一个列表,用车辆品牌填充,但当它出现以下错误时:

传递到字典中的模型项的类型为“System.Collections.Generic.List
1[System.String]”,但此字典需要类型为“System.Collections.Generic.IEnumerable
1[VehicleInfo.Models.Tblehicle]”的模型项

型号

public partial class tblVehicle 
    {   
        public string BrandName{ get; set; }
    }
控制器

public ActionResult Index() 
    {
       VehicleDBContext db = new VehicleDBContext();

       var brandnames = db.prcGetMakes().ToList();

       return View(brandnames);
    }
查看

@model IEnumerable<VehicleInfo.Models.tblVehicle>

<ul id="Makes">
   @foreach (var item in Model)
   {
      <li>@item.BrandName.Distinct()</li>
   }
</ul>
一定有一些我明显遗漏的东西,但我似乎无法解决


请帮忙

从错误消息看,动作方法中的表达式
db.prcGetMakes().ToList()
将返回字符串列表,并将其传递给视图。但是您的视图被强类型化为
tblvehichile
对象的列表,因此会得到关于类型不匹配的错误消息

解决方案是使这两种类型匹配。您可以将视图更新为强类型的
string
类型列表

@model IEnumerable<string>

<ul id="Makes">
   @foreach (var item in Model)
   {
      <li>@item</li>
   }
</ul>
@model IEnumerable
    @foreach(模型中的var项目) {
  • @项目
  • }

从错误消息看,动作方法中的表达式
db.prcGetMakes().ToList()
返回字符串列表,您正在将其传递给视图。但是您的视图被强类型化为
tblvehichile
对象的列表,因此会得到关于类型不匹配的错误消息

解决方案是使这两种类型匹配。您可以将视图更新为强类型的
string
类型列表

@model IEnumerable<string>

<ul id="Makes">
   @foreach (var item in Model)
   {
      <li>@item</li>
   }
</ul>
@model IEnumerable
    @foreach(模型中的var项目) {
  • @项目
  • }

db.prcGetMakes().ToList()的结果类型是什么?这是一个字符串列表吗?那么错误是不言自明的。您的视图被强类型化为
tblvehile
列表。使用当前视图代码,基本上需要返回
tblvehile
对象的列表。非常感谢:)db.prcGetMakes().ToList()的结果类型是什么?这是一个字符串列表吗?那么错误是不言自明的。您的视图被强类型化为
tblvehile
列表。使用当前视图代码,您基本上需要返回
tblvehile
对象的列表。非常感谢:)