Как передать данные из SQL Server в jQuery var [Flot] - PullRequest
1 голос
/ 23 января 2012

У меня есть два столбца данных в базе данных на MS SQL Server. Одна переменная даты и времени, а другая - int.

Я пытаюсь jQuery и Flot построить дату и время против int.

Я могу программно получать данные с SQL Server, используя C #. Но как мне передать его в файл JavaScript, в котором есть переменные для flot?

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Если вы хотите вызвать скрипт в загруженном html-документе, вы можете использовать метод Invoke из соответствующего объекта HtmlDocument или WebBrowser для вызова функции javascript на этой странице, например:

http://msdn.microsoft.com/en-us/library/system.windows.controls.webbrowser.invokescript.aspx

0 голосов
/ 24 января 2012

Я не уверен, как вы передадите данные из c # в файл * .js в вашем случае, я не думаю, что это возможно. Но вы можете попробовать взломать страницу, содержащую файл * .js, вы можете попытаться объявить и установить переменную javascript для кода c # (например, в ASPX, если это ASP.NET), а затем поместить ссылку включения * .js. после этой точки и в ней не повторное объявление переменной, а ее использование. Вы также можете использовать JSON или AJAX для вызова кода на стороне сервера, возврата значений и выполнения кода.

Сценарий 1: (Способ взлома, который не чист и труден в обслуживании, но выполняет свою работу)

File.aspx

<script language="javascript" type="text/javascript">
var MyVariable = "<%=C_Variable_On_Code_Behind%>";
</script>
<script type="text/javascript" src="/scripts/YourJsFile.js" >
</script>

YourJsFile.js

if(MyVariable != null && MyVariable.length > 0){
//Do some thing.
}

Сценарий 2: (JSON, AJAX, JQUERY UI)

JQuery UI образец для автозаполнения: попробуйте эту ссылку

Другой пример: Или эта ссылка

Сценарий 3: (Запись клиенту с серверной стороны c #)

Используйте RegisterStartupScript или RegisterClientScriptBlock через объект ClientScriptManager. Вот фиктивный код, который я собрал, чтобы вы могли найти его и найти идею, чтобы узнать больше, это не означает, что он полон код.

ClientScriptManager script = Page.ClientScript;
if (!script.IsClientScriptBlockRegistered(this.GetType(), "YourLabelForThis"))
{
   script.RegisterClientScriptBlock(this.Page.GetType(), "YourLabelForThis",
    "<script type=\"text/javascript\">var MyVariable = "Dummy text";</script>", false);
}

Обратите внимание, что вы должны поместить js-код в качестве включаемого или дополнительного кода в нужное место на странице, куда бы вы ни захотели, до или после этого кода, поэтому ищите RegisterStartupScript или RegisterClientScriptBlock через ClientScriptManager. Чтобы увидеть, где будет размещен ваш код и как вы должны его обрабатывать. Также посмотрите на источник страницы в вашем браузере, чтобы увидеть его.

...