Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.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/15.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/windows/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# 部分视图加载错误的模型_C#_Asp.net Mvc - Fatal编程技术网

C# 部分视图加载错误的模型

C# 部分视图加载错误的模型,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个局部视图,其中指定了一个模型: @model IEnumerable<AbstractThinking2015.Models.BlogModel> @foreach (var item in Model.Take(5)) { <li>@Html.ActionLink(item.Title, "Details", new { id = item.BlogModelId })</li> } @model IEnumerable @foreach

我有一个局部视图,其中指定了一个模型:

@model IEnumerable<AbstractThinking2015.Models.BlogModel>

@foreach (var item in Model.Take(5))
{
    <li>@Html.ActionLink(item.Title, "Details", new { id = item.BlogModelId })</li>
}
@model IEnumerable
@foreach(模型中的var项目,取(5))
{
  • @ActionLink(item.Title,“Details”,新的{id=item.BlogModelId})
  • }
    我用以下方式来称呼它:

    <div class="widget">
       <h4>Recent Posts</h4>
       <ul>
          @Html.Partial("View")
       </ul>
    </div>
    
    
    最近的职位
    
      @Html.Partial(“视图”)
    但我得到了一个错误:

    传递到字典中的模型项的类型为 “AbstractThinking2015.Models.BlogModel”,但本词典要求 类型的模型项 'System.Collections.Generic.IEnumerable'1[AbstractThinking2015.Models.BlogModel]'


    我确信这是因为传递到视图中的模型是单个blog,但我想使用在部分视图中定义的列表。有什么方法可以做到这一点吗?

    如果不显式地将模型传递给分部,它将采用父视图的模型。因此,从错误消息中可以清楚地看出,您正在从action方法向视图传递BlogModel的单个对象,从而得到错误

    您需要确保您的主视图(在其中调用分部)也是强类型的
    BlogModel
    对象集合

    public ActionResult Index()
    {
      var blogList=new List<Models.BlogModel>(); 
      // or you may read from db and load the blogList variable
    
      return View(blogList);
    }
    

    如果没有将模型t显式传递给分部,它将采用父视图的模型。因此,从错误消息中可以清楚地看出,您正在从action方法向视图传递BlogModel的单个对象,从而得到错误

    您需要确保您的主视图(在其中调用分部)也是强类型的
    BlogModel
    对象集合

    public ActionResult Index()
    {
      var blogList=new List<Models.BlogModel>(); 
      // or you may read from db and load the blogList variable
    
      return View(blogList);
    }
    

    你的主视图渲染是什么?目前它刚刚中断,但它使用的模型是:@Model AbstractThinking2015.Models.blogmodel你的主视图渲染是什么?目前它刚刚中断,但它使用的模型是:@Model AbstractThinking2015.Models.blogmodel这是正确的解释,OP可能在寻找一些东西比如
    @Html.Partial(“View”,Model.RecentPosts)
    而不是将当前帖子呈现为最近帖子的列表。我同意他应该拥有一个视图模型,该模型具有一个RecentPosts属性,他应该将该属性传递给Partial。从他最初的帖子中,不清楚他试图用索引视图做什么。所以我不知道他真正应该用什么视图模型来创建他的索引视图!虽然这是正确的解释,但OP可能在寻找类似于
    @Html.Partial(“视图”,Model.RecentPosts)
    的内容,而不是将当前帖子作为最近帖子的列表呈现。我同意他应该拥有一个视图模型,该模型具有RecentPosts属性,他应该将该属性传递给Partial。从他最初的帖子中,不清楚他试图用索引视图做什么。所以我不知道他真正应该用什么视图模型来创建他的索引视图!