1
我的操作方法是,在视图部分我使用JSON来从其他行动的数据在我的控制器, 它去当我直接调用它的成功方法, (放routConfig行动eqaul这个动作)当我从其他操作或视图调用Json时,Json会出错,但直接运行时它会成功吗?
但是当我从链接调用行动它会出错, 我不知道为什么?!
控制器:
[HttpGet]
public ActionResult PieRenderer()
{
return View();
}
[HttpPost]
public JsonResult GetPieRenderer()
{
var DbResult = from d in db.Rep_TaskTypeQueuChart(0, 1)
select new
{
d.TaskTypeName,
d.WorkCount
};
//return Json(DbResult, JsonRequestBehavior.AllowGet);
return Json(DbResult);
}
视图:
<!-- CSS -->
<link href="~/Scripts/jqPlot/jquery.jqplot.min.css" rel="stylesheet" />
<!-- Scripts JS -->
<script src="~/Scripts/jquery-3.1.1.min.js"></script>
<script src="~/Scripts/jqPlot/jquery.jqplot.min.js"></script>
<script src="~/Scripts/jqPlot/plugins/jqplot.pieRenderer.js"></script>
<script>
$.jqplot('chartdiv', [[[1, 2], [3, 5.12], [5, 13.1], [7, 33.6], [9, 85.9], [11, 219.9]]]);
$(document).ready(function() {
// $.jqplot('chartdiv3', [[[1, 2], [3, 5.12], [5, 13.1], [7, 33.6], [9, 85.9], [11, 219.9]]]);
//$.ajax(alert('Hiiiiiiiii')); //alert('111')
$.ajax({
type: "POST",
url: "Cartable/GetPieRenderer",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
function OnSuccess(response) {
var aData = response;
var dataArray = [];
$.each(aData, function (i, item) {
dataArray.push([item.TaskTypeName, item.WorkCount]);
alert(item.TaskTypeName);
});
var plot1 = jQuery.jqplot('chartdiv3', [dataArray],
{
seriesDefaults: {
// Make this a pie chart.
renderer: jQuery.jqplot.PieRenderer,
rendererOptions: {
sliceMargin: 4,
// Put data labels on the pie slices.
showDataLabels: true
}
},
legend: { show: true, location: 'e' }
}
);
}
function OnError(response) {
alert("Error !");
alert(response.toString());
}
});
</script>
</div>
如果我更改RoutConfig action =“PieRenderer”,它会显示结果。 但如果我经营的主要仪表板视图,并有我有一个actinlink或A HREF到PieRenderer方法,它转到错误方法()...