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

时间:2018-07-19 14:50:43

标签: asp.net-mvc-5.2

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

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

1 个答案:

答案 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]);
}
相关问题