Asp.net mvc 如何在ASP.NET MVC 5中将视图模型拆分为视图上的两个列表
因此,我的产品及其相关选项有一个视图模型Asp.net mvc 如何在ASP.NET MVC 5中将视图模型拆分为视图上的两个列表,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,因此,我的产品及其相关选项有一个视图模型 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace CuttingEdgeOrderingSystem.Models { public class ProductOptionVM { public string ProductName { get; set; } pu
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CuttingEdgeOrderingSystem.Models
{
public class ProductOptionVM
{
public string ProductName { get; set; }
public string ImageScr { get; set; }
public string Desc { get; set; }
public List<OptionsVM> Options { get; set; }
public int ProductId { get; set;}
}
public class OptionsVM
{
public string OptionName { get; set; }
public string Price { get; set; }
public int OptionsId { get; set; }
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
命名空间CuttingEdgeOrderingSystem.Models
{
公共类ProductOptionVM
{
公共字符串ProductName{get;set;}
公共字符串ImageScr{get;set;}
公共字符串Desc{get;set;}
公共列表选项{get;set;}
public int ProductId{get;set;}
}
公共类选项VM
{
公共字符串选项名称{get;set;}
公共字符串Price{get;set;}
公共int选项ID{get;set;}
}
}
我想单独显示这些产品,在它们下面有一个选项列表,每个选项都有一个单选按钮
这是我当前的视图代码。我将产品作为一个列表进行生产,但我不知道如何在该结构的列表中显示每个选项。感谢您的帮助
@model IEnumerable<CuttingEdgeOrderingSystem.Models.ProductOptionVM>
@{
ViewBag.Title = "Shop";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Products</h2>
<div class="row">
@foreach (var product in Model)
{
<!-- Panel to display products-->
<div class="col-md-4 col-sm-12 panel-height">
<div class="panel panel-default">
<span class="panel-title">@Html.DisplayFor(modelItem => product.ProductName)</span>
<div class="">
<img src="@Html.DisplayFor(modelItem => product.ImageScr)" class="panel-image" />
</div>
<div class="panel-default text-black panel-border">
@Html.DisplayFor(modelItem => product.Desc)
</div>
<div class="panel-default text-black">
<!-- options for products go here -->
</div>
<div class="panel-default text-black">
<button type="button" class="btn btn-primary btn-sm">Add to Cart</button>
</div>
</div>
</div>
}
</div>
@model IEnumerable
@{
ViewBag.Title=“店铺”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
产品
@foreach(模型中的var乘积)
{
@Html.DisplayFor(modelItem=>product.ProductName)
product.imagesr)“class=”面板图像“/>
@DisplayFor(modelItem=>product.Desc)
添加到购物车
}
您可以在每个选项上调用DisplayFor,如下所示:
<div class="panel-default text-black">
@for(var i = 0; i < product.Options.Count(); i++)
{
@Html.DisplayFor(o => product.Options[i])
}
</div>
@对于(var i=0;iproduct.Options[i])
}
不确定DisplayFor在您的情况下会有多好,但我想您已经明白了。您可以在每个选项上调用DisplayFor,如下所示:
<div class="panel-default text-black">
@for(var i = 0; i < product.Options.Count(); i++)
{
@Html.DisplayFor(o => product.Options[i])
}
</div>
@对于(var i=0;iproduct.Options[i])
}
不确定DisplayFor在您的情况下会有多好,但我想您已经明白了。这非常有帮助,谢谢!现在只需要了解如何为每个屏幕使用单选按钮。谢谢您的帮助!这非常有帮助!现在只需要了解如何为每个屏幕使用单选按钮。谢谢您的帮助!