小妹最近遇上一头疼的问题:程序要求点击主界面上一按钮,弹出一窗口,在新窗口的表格里写入大量数据后,要求将表格的这大量数据返回到主界面中重新显示到表格中(同时主界面中其它数据不能丢失),苦思良久,再网上查了资料,我采用的是用window.openModalDialog打开新窗口,在新窗口的表格中写入的数据要转化为javascript的数组才可以从新窗口中返回到主窗口,但即使返回来了,这是个javascript的数组,怎么让它变成.net的datatabele在datagrid中显示呢? 各位大哥大姐看在小妹第一次发贴的份上,给我指点一下吧!!!谢谢大家
那接下来的问题就是在写数据的时候怎么在 table 里面定位的问题。
但就算真的写上了,,这些数据也不会被提交的服务端,你最后要在服务端操作这些数据罢?
谢谢你,终于有人理我了汗 。。
其实我的意思就是先要把javascript代码调用返回的一个数组赋给datatable,但好像我直接这样做不行
string strScript = "<script>" + "\r\n";
strScript += "function OpenWin(){" + "\r\n";
strScript += "var str=window.showModalDialog('WebForm3.aspx','','')" + "\r\n";
strScript += "if(str!=null) " +dt.Rows[0][0]+ " =String(str[0][0])" + "\r\n";
见上面的代码,我直接把javascript返回的数组str的元素str[0][0]赋给datatable dt的元素dt.Rows[0][0],不行啊,要怎么才能赋值呢 strScript += "}" + "\r\n";
strScript += "</script>" + "\r\n";
你是不能这样直接把客户端的数据赋值给cs变量
window.openModalDialog打开的新窗口的数据输入完毕点击确认后把这些数据存入特定Session,写一段当ModalDialog关闭后刷新主页面的Javascript让主页面刷新使其获得Session,当然这个Session用Datatable存取,在主页面Onload的时候对原有数据和这个Session的数据进行合并。