我有一个页面,可以将多个局部视图插入或拉入其中。 每个用户都可以选择所需的局部视图以及所需顺序。 假设我们拥有他们想要的视图以及他们想要的顺序,我将如何实现?
我对ASP MVC 5还是很陌生,我找不到实现此目的的方法。
可能有多个视图,如下所示,其当前是硬编码的,我将如何使这些div和局部视图根据天气的变化而动态变化,用户是否想要然后以什么顺序显示它们
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="tools">
<span class="icon fa fa-close"></span>
<span class="icon fa fa-refresh"></span>
</div>
<div class="card-body">
<div id="PieChart1">
@Html.Action("PieChart1", new { pStartDate =
@ViewBag.pStartDate, pEndDate = @ViewBag.pEndDate })
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="tools">
<span class="icon fa fa-close"></span>
<span class="icon fa fa-refresh"></span>
</div>
<div class="card-body">
<div id="PieChart2">
@Html.Action("PieChart2", new { pStartDate =
@ViewBag.pStartDate, pEndDate = @ViewBag.pEndDate })
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="tools">
<span class="icon fa fa-close"></span>
<span class="icon fa fa-refresh"></span>
</div>
<div class="card-body">
<div id="PieChart3">
@Html.Action("PieChart3", new { pStartDate =
@ViewBag.pStartDate, pEndDate = @ViewBag.pEndDate })
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
如果将有序列表传递到视图中,则可以按正确的顺序渲染项目?
因此,在您的控制器中,确定列表的排序(伪代码):
var orderedList = new List<string> { "PieChart2", "PieChart1", "PieChart3"};
return View("MyView", orderedList);
现在,您可以在MyView中遍历该列表:
for (int i=0; i<Model.Count(); i++);
{
RenderPartialView(Model[i]);
}