javascript如何获取.net后台的全局变量

来源:百度知道 编辑:UC知道 时间:2024/07/04 18:49:49
我在.net后台声明了一个全局变量 是个数组,数值是从数据库中提出来的
我想在把它赋给JavaScript中的一个变量,请问可以实现吗? 要是不行,可以直接把数据库的值赋给JavaScript中的变量吗?

可以使可以,但是不能在js加载事件中使用(如果一定用js在页面的onload事件里边用,那得用Ajax+WEbService的方法,有兴趣咱们可以讨论一下)。

方法就是在前台页面 放一个Html的“Hidden”控件,假使它id为hid1,把hid1设置为服务器控件(页面点击控件,右键设置“服务器控件”,或者在标签里边加上 runat="server"属性)。把这个数据循环拼成一个字符串,赋给hid1.value.
例:

int[5] arr = {1,2,3,4,5};
string a ;
for(int i =0;i<arr.Lenth;i++)
{
if(i !=arr.Lenth-1)//如果不是最后一位则用“~”拼接,如果是最后一个元素则不用在后边+“~”
{a +=arr[i].tostring()+"~";}
else
{
a+=arr[i].Tostring();
}

}
hid1.value = a;
这样数组的内容就传递给前台的hid空间里边了。
然后再在前台写一个js方法,找到hid1的value值
然后用split('~'),这个方法返回一个String的数组,数组里边的内容就是你在后台传的内容了,不过这是个string数组,你想再有别的应用的话,转换一下数组里元素的格式就行了。这是我想到的比较简单的一个方法。
记住,一定要用hidden而不要自作聪明的用一个textbox然后隐藏什么的,那在前台是找不到的。

不过总的来说,你想从后台数据库抽取数据,然后用前台Js来根据这个数据区做一些页面设置的话(密码账号提示之类的无刷新效果),还是用Ajax+WEbService的方法最好,这也是目前开发中普遍使用的方法。

最简单的办法:对于全局数组变量s
在ASPX页上直接用<%=s%>就可以赋值
<script language="javascript" type="t