将模型中的项目传递到部分视图不起作用ASP.NET MVC 5

迈克尔·唐奇达(Michael Tranchida)

我在视图中有一个项目数组,并试图遍历该数组并将每个项目传递给局部视图,但是它抛出一个异常,表示我正在尝试将整个数组而不是仅将单个项目传递给部分视图。

我的主要观点:

@model Product[]
@foreach (var item in Model)
{
  @Html.Partial("_ProductDetail", item)
}

我的部分观点:

@model Product
<div>
  @Model.Description
</div>

异常消息:

传递到字典中的模型项的类型为'Product []',但是此字典需要模型为'Product'的模型项。

我究竟做错了什么?

编辑控制器肯定是传递一个数组,虽然这是代码:

public ActionResult Category(string id)
{
  var model = FakeDb.Products;
  return View(model);
}

和FakeDb:

public static class FakeDb
{
    public static Product[] Products { get; set; }

    static FakeDb()
    {
        Products = new Product[2];
        DateTime utcNow = DateTime.UtcNow;

        ProductPic pp1 = new ProductPic { Filename = "71b.jpg", Default = true };
        Product p1 = new Product { DateAdded = utcNow, Price = 395, Quantity = 1, Pics = new List<ProductPic> { pp1 }, Description = "5 ft. x 8 ft. Blue, Yellow" };
        Products[0] = p1;

        ProductPic pp2 = new ProductPic { Filename = "72b.jpg" };
        Product p2 = new Product { DateAdded = utcNow.AddDays(-1), Quantity = 2, Pics = new List<ProductPic> { pp2 }, Description = "5 ft. x 8 ft. Blue, Green" };
    }
}
姆维琴斯基

当传递给的元素Partial为null时,它将传递父视图Model因此,如果Product[]array中的element为null,则将parent的视图模型传递给Partial

您可以检查要迭代的数组中的任何元素是否不存在null或通过@Html.Partial("_ProductDetail", new ViewDataDictionary(item))

Foreach方法:

@model Product[]
@foreach (var item in Model)
{
    if (item != null)
    {
        @Html.Partial("_ProductDetail", item)
    }
}

ViewDataDictionary方法:

@Html.Partial("_ProductDetail", new ViewDataDictionary(item))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET MVC 5中的Ajax(部分视图)不起作用-始终仅单独打开部分视图

来自分类Dev

ASP.NET MVC 5模型绑定不起作用

来自分类Dev

将整个对象从视图传递到ASP.NET MVC 5中的控制器

来自分类Dev

Asp.Net MVC5-通过jqGrid将嵌套模型从视图传递到控制器

来自分类Dev

ForeignKey不起作用| ASP .NET MVC 5应用

来自分类Dev

Ajax.ActionLink POST在ASP.NET MVC 5中不起作用

来自分类Dev

日期格式dd / MM / yyyy在asp.net mvc 5中不起作用

来自分类Dev

Url.Content在ASP.NET MVC 5中不起作用

来自分类Dev

添加到布局页面脚本在ASP.NET MVC 5中不起作用

来自分类Dev

if语句在控制器mvc 5 asp.net中不起作用

来自分类Dev

将Angularjs集成到ASP.NET MVC 5中

来自分类Dev

如何将模型从视图传递到ASP.NET MVC4中的javascript

来自分类Dev

Asp.Net MVC 5模型状态

来自分类Dev

如何将DateTime参数从View传递到ASP.net MVC5中的Controller?

来自分类Dev

ASP.NET MVC 5模型绑定编辑视图

来自分类Dev

缓存部分视图Asp.net MVC 5

来自分类Dev

将表单发布到ASP.NET Core MVC中的控制器不起作用

来自分类Dev

ASP.Net MVC 5中的Cookie

来自分类Dev

ASP .NET MVC 5中的异步任务

来自分类Dev

ASP.NET MVC 5中的ClaimsIdentity

来自分类Dev

在ASP.NET MVC 5中使用视图模型或数据库模型

来自分类Dev

如何从ASP.NET MVC 5中的模型创建表单?

来自分类Dev

ASP.NET MVC 5中的模型错误

来自分类Dev

ASP.Net MVC 5 w / identity 2.2.0注销不起作用

来自分类Dev

Asp.net MVC-5身份突然不起作用

来自分类Dev

Gzip压缩不起作用ASP.net MVC5

来自分类Dev

如何在ASP.NET MVC 5中上传视频并将视频文件从视图传递到方法?

来自分类Dev

在ASP.Net MVC 5中找不到区域视图

来自分类Dev

在ASP .NET MVC 5中预编译剃刀视图

Related 相关文章

热门标签

归档