c# - call function from Controller in javascript code -
using d3.js graphs, added graph in view cshtml page. want values in graph withdraw db. wrote following function in controller:
protected int getreadinessavg() { var avgreadiness = 0; var countitems = 0; foreach (var item in db.reviews) { avgreadiness = avgreadiness + item.lecturerreadine; countitems++; } avgreadiness = avgreadiness / countitems; return avgreadiness; } this function works great , return relevant value. now, in graph (the js code), want use value. here trying do..
var freqdata = [ { state: '2013', freq: { lecturerreadine: '<%=getreadinessavg()%>', lecturertransferrate: 412, lecturerattitude: 674, lecturerknowledge: 2001 } } , { state: '2014', freq: { lecturerreadine: 932, lecturertransferrate: 2149, lecturerattitude: 418, lecturerknowledge: 4726 } } , { state: '2015', freq: { lecturerreadine: 832, lecturertransferrate: 1152, lecturerattitude: 1862, lecturerknowledge: 2135 } } ]; but call function: lecturerreadine: '<%=getreadinessavg()%>' isn't working. suggestions?
as @remy grandin said, can't directly call controller method javascript. can call c# function in .cshtml page. use @functions {..}
@functions{ protected int getreadinessavg() { var avgreadiness = 0; var countitems = 0; foreach (var item in db.reviews) { avgreadiness = avgreadiness + item.lecturerreadine; countitems++; } avgreadiness = avgreadiness / countitems; return avgreadiness; } } then assign value.
var freqdata = [ { state: '2013', freq: { lecturerreadine: '@getreadinessavg()', lecturertransferrate: 412, lecturerattitude: 674, lecturerknowledge: 2001 } } , { state: '2014', freq: { lecturerreadine: 932, lecturertransferrate: 2149, lecturerattitude: 418, lecturerknowledge: 4726 } } , { state: '2015', freq: { lecturerreadine: 832, lecturertransferrate: 1152, lecturerattitude: 1862, lecturerknowledge: 2135 } } ];
Comments
Post a Comment