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

时间:2015-03-12 17:29:12

标签: javascript asp.net-mvc razor

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

PartialView:

@model System.Data.DataTable

@using 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);
    });

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

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

由于

1 个答案:

答案 0 :(得分:0)

我已经将此脚本移到了部分视图中,它可以直接使用。

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