jqPlot的MVC HTML帮助包装器

时间:2013-03-26 19:09:53

标签: asp.net-mvc razor partial-views html-helper jqplot

我希望围绕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代码的最佳方法是什么(如此)?

1 个答案:

答案 0 :(得分:0)

我认为,听一个偶数将是一个可能的解决方案,在这种情况下甚至输出或完成页脚的渲染。所以也许你的代码会作为一个选项来监听事件并在那一刻进行渲染,但这当然是依赖于平台的。我还在php包装器上工作,你可以在这里分叉:https://github.com/oumsofiane1/jqplotPHPwrapper.git 并且只是实现了一个帮助器,但当然你可以扩展它:-)

希望这有帮助