1

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

4

1 回答 1

0

I think, listening to an even will be a possible solution, in this case the even of outputting or finishing the rendering of the footer. so maybe your code will give as an option to listen to an event and render at that moment, but this is of course platform dependent. I also worked on a php wrapper you can fork it here: https://github.com/oumsofiane1/jqplotPHPwrapper.git and just implemented a helper, but of course you can extend that :-)

Hope this helps

于 2013-04-22T06:47:37.247 回答