【问题标题】:How to pass data from SQL Server to jQuery var [Flot]如何将数据从 SQL Server 传递到 jQuery var [Flot]
【发布时间】:2012-01-23 03:28:07
【问题描述】:

我在 MS SQL Server 上的数据库中有两列数据。一个是日期时间变量,另一个是 int。

我正在尝试使用 jQuery 和 Flot 来绘制日期时间与整数的关系。

我可以使用 C# 以编程方式从 SQL Server 获取数据。但是如何将它传递给具有 flot 变量的 JavaScript 文件?

【问题讨论】:

  • 有一百万种或至少有很多方法可以做到这一点。但无论如何,最终都会将您的 C# 变量作为字符串写入 DOM 或 javascript 变量并使用 eval 或 parse。首先告诉我们您使用的是 MVC 还是表单
  • 我没有使用 MVC。我正在使用表单。
  • 如何从 C# 写入 javascript 变量

标签: c# jquery sql-server data-binding flot


【解决方案1】:

如果要在加载的 html 文档中调用脚本,可以使用相应 HtmlDocument 或 WebBrowser 对象中的 Invoke 方法来调用该页面中的 javascript 函数,例如:

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

【讨论】:

  • 我不确定我是否理解这一点。我只想知道如何将数据从 C# 传递到 jQuery。或者以某种方式从 jQuery 访问 SQL 数据库。
【解决方案2】:

我不确定在您的情况下如何将数据从 c# 传递到 *.js 文件,我认为这是不可能的。但是您可以尝试在包含 *.js 的页面上进行破解,您可以尝试将 javascript 变量声明并设置为 c# 代码(因此在 ASPX 中,如果它是 ASP.NET),然后将 *.js 包含引用在那之后并在其中不重新声明变量而是使用它。您还可以使用 JSON 或 AJAX 调用服务器端代码并​​返回值和执行代码。

场景 1:(hack 方式,不干净且难以维护,但可以完成工作)

文件.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 示例:try this link

另一个例子:Or this link

场景 3:(从服务器端 c# 写入客户端)

通过ClientScriptManager 对象使用RegisterStartupScriptRegisterClientScriptBlock,这是我放在一起的一个虚拟代码,您可以查找它们并有一个想法,以便您了解更多信息,这并不意味着完整代码。

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 代码作为包含或进一步代码放置在页面中的正确位置,因此请通过 ClientScriptManager 查找 RegisterStartupScriptRegisterClientScriptBlock。查看您的代码将放置在哪里以及您应该如何处理它。也可以在浏览器中查看页面源代码。

【讨论】:

  • 你帮了我很大的忙!非常感谢。我从中学到了很多。虽然我没有得到我想要的信息,但谢谢。如果我得到我的结果,我会回发
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-23
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 2023-01-13
  • 1970-01-01
相关资源
最近更新 更多