2011-12-14 2 views
2

Это довольно новичок вопрос, я уверен. Я смотрю на замену нашей библиотеки диаграмм на стороне сервера библиотекой с открытым исходным кодом «флот». Я могу использовать ASP в JavaScript используется для вызова библиотеки по следующему примеруВызов библиотеки javascript из ASP.NET

<div id="placeholder" style="width: 600px; height: 300px;"> 
</div> 
<script type="text/javascript"> 
    $(function() { 
     var d = [<% 
     for (var i = 0; i < 10; i++) { 
      if(i > 1) 
       Response.Write(","); 

      Response.Write("[" + i + "," + Math.Sin(i) + "]"); 
     }%>]; 

     $.plot($("#placeholder"), [d]); 
    }); 
</script> 

Это работает очарование, но то, что мне действительно нужно сделать, это отображать данные из метода в моем коде позади файла (и в конечном счете база данных). Быстрый Google предполагает, что мне нужно использовать AJAX для этого, но я хотел бы сделать это на загрузке страницы.

Это поражает меня как нечто, что должно быть просто сделать, но тогда я относительно новичок в веб-разработке (я разработчик окон по профессии и MS Certified, поэтому я знаю свой путь вокруг C#).

Любые помощь или указатели будут очень признательны.

Cheers,

Neil.

ответ

0

Вы можете вызвать некоторые C функцию # в коде сценария Java с помощью:

<%# C#_FunctionName(parmVal1,ParamVal2) %> 

вернет возвращаемое значение функции C#, или выполните функцию C#.

Благодаря

+0

я поместил следующий код в моем сценарии ... вар d = [ <% # C# _GetData()%> ]; Я получаю ошибку компиляции, когда я запускаю это высказывание: «Директивы препроцессора должны отображаться как первый символ без пробелов в строке». Я пробовал перемещать код, а затем получаю такие ошибки, как «Предпроцессорная директива». –

+0

Является ли C# _GetData() именем вашей функции? Я добавил C# только для указания его как функции C#. Если по ошибке вы добавили C# _ с именем вашей функции, то удалите ее и попытайтесь скомпилировать свой код. – Riky

1

Очень широко, что вы могли бы рассмотреть это - с помощью jQuery AJAX для вызова страницы «код-за», чтобы сгенерировать «d» переменную, а затем, когда тот возвращается с сервера, используя его в ваш $ .plot ($ ("# placeholder"), [d]); заявление.

Вы можете создать класс обработчика, скажем, «GenerateData.ashx», который получает материал из базы данных, и Response.Write() S все это в списке я и Sin (I) значений, затем

$(function() { 
    $.ajax({ 
     url: "GenerateData.ashx", 
     success: function(data){ 
      $.plot($("#placeholder"), data); 
     } 
    }) 
}; 

Что-то вдоль этих линий ...

+0

Я думаю, что могу видеть, к чему вы клоните, я начинаю думать, что лучший способ - получить мои данные из веб-сервиса в любом случае. Это по-прежнему выглядит как-то странно, но для загрузки страницы и использования AJAX, чтобы получить мои данные и построить мой график. Может ли это не все сделать на моей странице, как-нибудь? –

+0

Ну, часть AJAX-y предполагает асинхронную загрузку.Может возникнуть задержка в загрузке данных из базы данных, и было бы полезно показать пользователю остальную часть страницы до этого. Это также позволяет им изменять представление данных, которое вы можете получить, не перерисовывая остальную часть страницы. –

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