2013-03-26 2 views
1

Я хочу создать оболочку MVC вокруг jqPlot.MVC HTML-помощник для jqPlot

Я хочу иметь вспомогательный объект для визуализации требуемого элемента контейнера 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 (как говорится в передовой практике).

Любые предложения? Что было бы лучшим способом испускать JS-код с помощью HTML-помощника, если это требует ситуация (например, этот)?

ответ

0

Я думаю, что прослушивание четного будет возможным решением, в данном случае даже для вывода или завершения рендеринга нижнего колонтитула. так что, возможно, ваш код даст возможность прослушать событие и сделать в тот момент, но это, конечно, зависит от платформы. Я также работал на PHP обертке вы можете раскошелиться его здесь: https://github.com/oumsofiane1/jqplotPHPwrapper.git и просто реализовать помощник, но, конечно, вы можете продлить этот :-)

Надеются, что это помогает

Смежные вопросы