如何解决如何在ASP.NET中将数据从控制器显示到部分视图
现在在社区的帮助下,我已经能够做到这一点,我正试图将控制器中的数据显示到我的局部视图中,但是我被卡住了,
在主页上我有以下代码:
@model Entidades.ViewModel.eTiendaOnlineViewModel
<div class="container my-4">
<h3 class="text-center">Los más vendidos</h3><hr />
@{
Html.RenderPartial("vpprueba",Model.productosmasvendidos);
}
在我的控制器中,我有这个:
using Entidades.ViewModel;
using System.Web.Mvc;
namespace TiendaOnline.Controllers
{
public class tiendaController : Controller
{
// GET: tienda
public ActionResult index()
{
//Creo la entidad general
eTiendaOnlineViewModel onlinestore = new eTiendaOnlineViewModel();
eClaseProductoViewModel clase1 = new eClaseProductoViewModel()
{
cod_clase_producto = "0001",descripcion = "CLASE NO. 1",imagen = "~/Content/images/alacena.jpg"
};
onlinestore.clasesproducto.Add(clase1);
eClaseProductoViewModel clase2 = new eClaseProductoViewModel()
{
cod_clase_producto = "0002",descripcion = "CLASE NO. 2",imagen = "~/Content/images/Farmacia.jpg"
};
onlinestore.clasesproducto.Add(clase2);
eClaseProductoViewModel clase3 = new eClaseProductoViewModel()
{
cod_clase_producto = "0003",descripcion = "CLASE NO. 3",imagen = "~/Content/images/pescado.jpg"
};
return View(onlinestore);
}
在我的局部视图中,我有这个:
@model List<Entidades.ViewModel.eProductosViewModel>
@{
var id = "my-own-id";
var random = new Random();
var length = random.Next(10,21);
var items = new List<Entidades.ViewModel.eProductosViewModel>();
for (int i = 0; i < length; i++)
{
items.Add(new Entidades.ViewModel.eProductosViewModel
{
//in this part is where I need to match the items variable for the data that comes to me from the controller to display it,I have tried to do it but I cannot do it
//imagen1 = $"https://mdbootstrap.com/img/Photos/Horizontal/Nature/4-col/img%20({i + 21}).jpg",//descripcion_corta = $"Card Title {i + 1}"
});
}
var itmIndex = 0;
var pages = items.Count / 3;
if (items.Count % 3 > 0)
{
pages++;
}
<div id="@id" class="carousel slide carousel-multi-item" data-ride="carousel">
<!--Controls-->
<div class="controls-top text-right my-2">
<a class="btn btn-primary rounded-circle" href="#@id" data-slide="prev"><</a>
<a class="btn btn-primary rounded-circle" href="#@id" data-slide="next">></a>
</div>
<!--/.Controls-->
<!--Indicators-->
<ol class="carousel-indicators">
@for (int i = 0; i < pages; i++)
{
if (i == 0)
{
<li data-target="#@id" data-slide-to="@i" class="active"></li>
}
else
{
<li data-target="#@id" data-slide-to="@i"></li>
}
}
</ol>
<!--/.Indicators-->
<!--Slides-->
<div class="carousel-inner" role="listbox">
@for (int slide = 0; slide < pages; slide++)
{
<div class="carousel-item @(slide == 0 ? "active" : string.Empty)">
<div class="row">
@for (int item = 0; item < 3; item++)
{
var m = items[itmIndex++ % pages];
var colCls = string.Empty;
if (item > 0)
{
colCls = "clearfix d-none d-md-block";
}
<div class="col-md-4 @colCls">
<div class="card mb-2">
<img class="card-img-top" src="@m.imagen1" alt="Card image cap @(itmIndex + 1)">
<div class="card-body">
<h4 class="card-title">@m.descripcion_corta</h4>
<p class="card-text">
Description text example
</p>
<a class="btn btn-primary">Button</a>
</div>
</div>
</div>
}
</div>
</div>
}
</div>
<!--/.Slides-->
</div>
}
我正在为此使用viewmodels,如果有人知道我如何将控制器中的数据显示到视图中
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。