本文知识产权归karman所有,首发于博客中国(http://www.blogcn.com/blog/trackback.asp?mydiary=26266725),在优快云作同步更新。如需转载,请保留本段文字,并发邮件通知:zhangmeng@sina.com
首次写BS的东西就碰到一个问题:
C#写的后台,从数据库中取得一组服务器地址,保存在数组里面
前台页面中所包含的ocx控件需要用这组服务器地址初始化
后台的数组怎么传到前台来啊~~~迷惑中....
查了半天,终于得知:后台的数组前台无法直接访问 -__-#
怎么办?想办法呗.....真想出来了一个办法,不需要把数组组合成字符串再传给前台,而是前台直接获得javascript可以使用的数组!
下面是示例:
在Page_Load()的过程中将数组输出到页面中
int ContentServerCount = 10;
string ServerNameString = "<script language=/"JavaScript/">var ServerNameArray = new Array(" + ContentServerCount.ToString() + ");";
for( int i = 0; i < ContentServerCount; i++ )
{
MetaBCInst.GetSysParams( "FC_FTP_SERVER_NAME", i, out tempString );
ServerNameString += "ServerNameArray [" + i + "]=" + tempString + ";";
}
ServerNameString = ServerNameString + "";
Response.Write(ServerNameString);
这样一来,在页面最开始的地方将会生成js的脚本,该脚本定义了ServerNameArray数组,可以被js直接使用哦。
顺便提一句,如果在页面生存期内,服务器端数据不会改变,而客户端需要使用这些数据的话,都可以使用这种方法,将服务器数据直接生成到HTML页面中。
本文知识产权归karman所有,首发于博客中国(http://www.blogcn.com/blog/trackback.asp?mydiary=26266725),在优快云作同步更新。如需转载,请保留本段文字,并发邮件通知:zhangmeng@sina.com