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

How to reload action which calls partial view

我已将 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

@使用System.Data

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>