另弱弱地问下,怎么将数据库里的数据写入到数组.
我定义了一个string数组.
public string[] x;
在datareader读取数据后.
循环
x[i] = recm["jd"].tostring()
这样为什么会出错.在javascript里 var n = <%=x%> 这样直接获得,不行吗?
我定义了一个string数组.
public string[] x;
在datareader读取数据后.
循环
x[i] = recm["jd"].tostring()
这样为什么会出错.在javascript里 var n = <%=x%> 这样直接获得,不行吗?
这里设置断点看看出错提示
var n = <%=x%>这样能获得字符串,不能获得数组
是否需要先声明一下个数?我也不确定
你把string的数组 放到一个服务器端的隐藏控件(TextBox)的Text值里。比如(aa|bb|cc)
然后在JS里 用document.getElementById("控件ID"); 获取该控件,然后获取此控件的Text值
然后把值按|分割为数组。
2,x[i] = recm["jd"].tostring() 这样为什么会出错.
因为你的x 并没有实列话,系统不知道这个数组有几个。你直接调 第i个 系统怎么会知道这个位置有没有对象,
把public string[] x;
改为public string[] x =new string[数组个数];
即可解决
用异步回调,实现ICallbackEventHandler接口
后台代码:
#region ICallbackEventHandler 成员 public string GetCallbackResult()
{
string[] chattos = MessageTalking.RequestMan();
if (chattos == null)
return null;
else
return string.Join(",", chattos); //将数组转化成string
}
public void RaiseCallbackEvent(string eventArgument)
{
}
#endregion前台:
function CallServer(){
<%# ClientScript.GetCallbackEventReference(this, "", "_GetResult", "")%>;
}
function _GetResult(result)
{
//result为接收到的string
var chattos=new Array();
chattos=result.split(','); //将string仍然转化成数组
}
这个 string[] 里面该怎么填写???
先访问数据库 得到数据的个数 。
x = new string[数据的个数]
比如我获得 select count(stid) a from 表
datareader recm = new datareader
x = new string[recm["a"]]{} ??????
这样????
好象 string[] 里面只能写常数的.
var n = <%= "[" + string.Join(",",xx) + "]"%>
这样就行.
cs文件里定义过 string[] xx = {"a","b,","c"} 这个解决了,可怎么初始化string数组的长度.