ASP MVC 5-用户可以独立更改多个局部视图的顺序



我有一个页面,可以将多个局部视图拉入其中。每个用户都可以选择他们想要的局部视图以及他们想要的顺序。假设我们有他们想要的观点,以及他们想要的顺序,我将如何实现这一点?

我是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>

如果将有序列表传递到视图中,是否可以按正确的顺序呈现项目?

因此,在您的控制器中,确定列表的排序(伪代码(:

var orderedList = new List<string> { "PieChart2", "PieChart1", "PieChart3"};
return View("MyView", orderedList);

现在,您可以在MyView:中循环浏览该列表

for (int i=0; i<Model.Count(); i++);
{
RenderPartialView(Model[i]);
}

最新更新