【发布时间】:2014-01-17 21:54:55
【问题描述】:
首先,很抱歉提出一个已经回答了很多次的问题,但是我已经尝试了提到的大部分程序,但仍然无法正常工作。
我有一个 ASP.NET 应用程序(服务器端),我想通过使用 WebGL(JavaScript,客户端)来可视化一些结果。我可以在 aspx 文件中创建画布并通过在 jscript 文件中编写所有必要的 JS 代码来绘制 3D 对象(立方体)(只要我知道我想提前绘制什么,并将所有内容写入脚本)。但是,我的意图是根据我的服务器端代码编写不同的对象。当我单击可视化按钮时,会触发回发。在服务器中执行一些代码,并在一个数组中返回一些坐标,在 aspx.cs 文件中全局定义。我需要将该节点坐标数组从服务器传递到 JS 文件,以便实际绘制我想要的对象。
这基本上是我尝试过的:
- 我发现传递变量的最简单方法是在 aspx.cs(c# 代码)中声明一个公共属性,然后在 JS 中编写:
var clientVariable = '<%=ServerVariable%>';
我尝试过的不是数组,而是字符串变量,如果写:
alert(clientVariable);
我在窗口中看到“”,而不是实际值。我不知道我是否需要任何额外的库或什么。如果我什至无法让这个简单的示例工作,我什至不知道如何使用双数组来做到这一点。我正在使用 MCVS08、ASP.NET 3.5 和 HTML5。
除此之外,我尝试不使用 JSON 转换数组,而是使用:
Page.ClientScript.RegisterArrayDeclaration();我用过
ClientScript.RegisterStartupScript(GetType(), "alert", "test2('" + A + "');", true);我尝试使用隐藏块来存储会话值等。
所以基本上,总结起来,我想要:
服务器端:在服务器端执行了后面的代码的功能后,再次渲染页面时我会在aspx.cs中有一个全局变量,它是一个double[,]坐标,包含的坐标将定义 3D 对象的节点。
aspx:在 html 中(不是 asp.net)我有一个画布标签,我打算在其中进行可视化。将在客户端呈现图像的脚本存储在 JScript 文件中。在这个文件中,在一个函数中,我有一个变量 var vertices = [];我需要在坐标数组中输入从服务器获得的值。我不知道如何以最好的方式实现这一目标。你会推荐使用 AJAX 吗?
任何建议/评论将不胜感激。由于带有简单字符串的虚拟示例不起作用(忘记画布、webGL 和所有这些东西),我可能需要其他任何东西,还是我误解了如何正确地做到这一点?
【问题讨论】:
标签: javascript asp.net arrays parameter-passing