如何重新加载调用部分视图的操作

How to reload action which calls partial view

本文关键字:视图 操作 调用部 何重新 加载      更新时间:2023-09-26

我已经将 Circliful 统计圈添加到我的仪表板中,但现在它们的数据刷新出现问题。ajax 刷新数据,但不刷新圆圈。

控制器:

public PartialViewResult GetDailyOutput(string dateFrom, string dateTo, string line = "All")
    {
        Graph g = repository.Graphs.Where(p => p.GraphID == 2).FirstOrDefault();
        DataTable dt = repository.GetGraphData(g.StoredProc + " '" + line + "', '" + dateFrom + "', '" + dateTo + "'");
        return PartialView(dt);
    }

视图:

<div id="dvDailyOutput" class="col-md-12">
    @Html.Action("GetDailyOutput", "Graph")
</div>

部分视图:

@model System.Data.DataTable

@using系统数据

foreach (DataRow row in Model.Rows)
{
            <div class="product-box col-md-3">
                @foreach (DataColumn col in Model.Columns)
        {
            if (col.ColumnName == "Product")
            {
                <div class="product-box-name col-md-2 vertical">@row[col.ColumnName]</div>
            }
            else if (col.ColumnName == "DemYield" || col.ColumnName == "FFSYield")
        {
            <div class="">
                <div class="yieldCircle" data-dimension="100" data-text="@row[col.ColumnName]%"
                     data-width="5" data-fontsize="20" data-percent="@row[col.ColumnName]" data-fgcolor="#61a9dc" data-bgcolor="#eee"></div>
            </div>
        }
        else
        {
            <div class="col-md-2">@row[col.ColumnName]</div>
        }
    }
            </div>
}

JavaScript:

<script>
var selectedLine = "All";
var dateFrom = null;
var dateTo = null;

function onCriteriaChange() {
$.post('@Url.Action("GetDailyOutput", "Graph")', { line: selectedLine, dateFrom: dateFrom, dateTo: dateTo }, function (data) {
        $("#dvDailyOutput").html(data);
    });

还有一些其他脚本可以更新行和日期变量,但为了清楚起见,我省略了它们。

您知道如何重新绘制圆圈,或者如果不可能,如何重新加载部分视图吗?

谢谢

我已经将此脚本介绍移至"部分"视图,它立即起作用。

<script>
$(document).ready(function () {
    $('.yieldCircle').circliful();
});
</script>