我希望围绕jqPlot创建一个MVC包装器。
我希望有一个帮助对象来呈现所需的html容器元素和绘制图表所需的java脚本。
看起来像这样的东西:
@Html.jqPlot()
.ChartType(eChartTypes.PieChart)
.ChartData(someData)
.RenderChart();
现在我只处于初始设计阶段,我知道jqPlot对象应该是什么样子来实现的,我遇到的问题是使用java脚本,假设要使用jqPlot绘制实际图表
假设我将在.RenderChart()
方法
public string RenderChart()
{
string chartCode = string.format(@"
<script type="text/javascript" src="../src/plugins/jqplot.canvasTextRenderer.min.js"></script>
<script type="text/javascript" src="../src/plugins/jqplot.canvasAxisLabelRenderer.min.js"></script>
$(document).ready(function(){
var plot1 = $.jqplot ('{0}', [{1}]);
});
",this.ChartGuid, this.ChartData);
return chartCode;
}
上述内容不是实际代码,只是该概念的一般表示。
所以问题是我不希望Helper将JS代码发送到Html文档的正文中,而且我不能让它这样做,因为一些必需的脚本可能位于html的底部(作为最佳实践状态)。
有什么建议吗? 如果情况需要,使用HTML帮助程序发出JS代码的最佳方法是什么(如此)?
答案 0 :(得分:0)
我认为,听一个偶数将是一个可能的解决方案,在这种情况下甚至输出或完成页脚的渲染。所以也许你的代码会作为一个选项来监听事件并在那一刻进行渲染,但这当然是依赖于平台的。我还在php包装器上工作,你可以在这里分叉:https://github.com/oumsofiane1/jqplotPHPwrapper.git 并且只是实现了一个帮助器,但当然你可以扩展它:-)
希望这有帮助