从ASP.NET调用javascript库

从ASP.NET调用javascript库,javascript,asp.net,Javascript,Asp.net,我相信这是一个相当新的问题。我正在考虑用开源javascript库“flot”替换我们的服务器端图表库。我可以在用于调用库的javascript中使用ASP,如下例所示 <div id="placeholder" style="width: 600px; height: 300px;"> </div> <script type="text/javascript"> $(function () { var d = [<%

我相信这是一个相当新的问题。我正在考虑用开源javascript库“flot”替换我们的服务器端图表库。我可以在用于调用库的javascript中使用ASP,如下例所示

<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>

$(函数(){
变量d=[1)
回答。写(“,”);
写(“[”+i+“,“+Math.Sin(i)+“])”;
}%>];
$.plot($(“#占位符”),[d]);
});
这很有魅力,但我真正需要做的是在代码隐藏文件(最终是数据库)中显示方法中的数据。一个快速的Google建议我需要使用AJAX来实现这一点,但我希望在页面加载时这样做

我觉得这应该很简单,但我对web开发相对来说还是新手(我是一名windows窗体开发人员,是微软认证的,所以我对C#了如指掌)

任何帮助或指点都将不胜感激

干杯


Neil.

这不一定是最佳实践解决方案,但您可以在页面加载期间在服务器上动态生成JavaScript

这将是一个很好的起点:

您可以使用以下方法调用Java脚本代码中的某些C#函数:

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

它将返回C#函数的返回值,或执行C#函数


谢谢

非常广泛,你可以考虑的是这个-使用一个“代码隐藏”页面来生成你的“D”变量,然后当它从服务器返回时,将它用在$.GOT($(“γ占位符”),[d])中;声明

您可以创建一个处理程序类,比如'GenerateData.ashx',它从数据库中获取内容,然后Response.Write()将其全部作为i和Sin(i)值的列表,然后

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

我已经在我的脚本中放置了以下代码。。。var d=[];当我运行“预处理器指令必须作为行中的第一个非空白字符出现”时,我得到了一个编译错误。我尝试过将代码四处移动,然后出现错误,例如“应为预处理器指令”。您的函数名是C##u GetData()吗?我添加了C#只是为了表示它是一个C#函数。如果您错误地在函数名中添加了C 35; u,然后将其删除并尝试编译代码。我想我可以理解您的意思,我开始认为最好的方法是从Web服务获取数据。我仍然觉得加载页面,然后使用AJAX获取数据并构建图表有点奇怪。这一切不都可以在我的页面加载上完成吗?好吧,AJAX-y部分假设异步加载。从数据库加载数据时可能会有延迟,在此之前向用户显示页面的其余部分可能会很有用。这还允许他们更改数据的视图,您可以在不重新绘制页面其余部分的情况下获取数据。