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方法,它轉到錯誤方法()...