C# 将模型中的项传递到不工作的部分视图ASP.NET MVC 5
我的视图中有一个项目数组,我试图迭代该数组并将每个项目传递给部分视图,但是它引发了一个异常,表示我试图将整个数组而不仅仅是单个项目传递给部分视图 我的主要观点是:C# 将模型中的项传递到不工作的部分视图ASP.NET MVC 5,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我的视图中有一个项目数组,我试图迭代该数组并将每个项目传递给部分视图,但是它引发了一个异常,表示我试图将整个数组而不仅仅是单个项目传递给部分视图 我的主要观点是: @model Product[] @foreach (var item in Model) { @Html.Partial("_ProductDetail", item) } 我的部分观点是: @model Product <div> @Model.Description </div> 以及伪造数据
@model Product[]
@foreach (var item in Model)
{
@Html.Partial("_ProductDetail", item)
}
我的部分观点是:
@model Product
<div>
@Model.Description
</div>
以及伪造数据库:
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" };
}
}
公共静态类FakeDb
{
公共静态产品[]产品{get;set;}
静态FakeDb()
{
产品=新产品[2];
DateTime utcNow=DateTime.utcNow;
ProductPic pp1=newproductpic{Filename=“71b.jpg”,默认值=true};
产品p1=新产品{DateAdded=utcNow,价格=395,数量=1,Pics=新列表{pp1},Description=“5英尺x 8英尺蓝色,黄色”};
产品[0]=p1;
ProductPic pp2=newproductpic{Filename=“72b.jpg”};
产品p2=新产品{DateAdded=utcNow.AddDays(-1),数量=2,图片=新列表{pp2},Description=“5英尺x 8英尺蓝,绿”};
}
}
当传递给Partial
的元素为空时,它将传递父视图模型
。所以,若Product[]
数组中的元素为空,则父视图模型将传递给Partial
您可能会检查正在迭代的数组中的任何元素是否不是null
或传递@Html.Partial(“\u ProductDetail”,new ViewDataDictionary(item))
每种方法:
@model Product[]
@foreach (var item in Model)
{
if (item != null)
{
@Html.Partial("_ProductDetail", item)
}
}
ViewDataDictionary方法:
@Html.Partial("_ProductDetail", new ViewDataDictionary(item))
您好,您能否在控制器中提供将模型传递给视图的代码?加价看起来不错。啊,找到了。忘记将第二个产品添加到my FakeDb中的数组。谢谢
@Html.Partial("_ProductDetail", new ViewDataDictionary(item))