这几天一直在网上查关于JAVASCRIPT的一些资料,发现我什么都不会,做了几天总算把这个功能给做出来了,信心还没有被消灭,把这个记下来以后做参考,高手们看了别见笑,小弟就这点水平.也希望大家能多提意见,小弟在此谢谢各位了(C#代码)
1。子窗口代码
//从数据库中读取数据放入需要传值的变量sbId,sbName
DataSet ds = DbHelperSQL.Query("SELECT SaleChangeId,SaleChange FROM SaleChange WHERE CustomerId=" + strTypeId);
StringBuilder sbId = new StringBuilder();
StringBuilder sbName = new StringBuilder();
//用","隔开以便传值
sbId.Append(ds.Tables[0].Rows[0][0].ToString());
sbName.Append(ds.Tables[0].Rows[0][1].ToString());
for (int i = 1; i < ds.Tables[0].Rows.Count; i++)
{
sbId.Append(",");
sbId.Append(ds.Tables[0].Rows[i][0].ToString());
sbName.Append(",");
sbName.Append(ds.Tables[0].Rows[i][1].ToString());
}
//JS脚本
sbScript.Append("window.focus();")
sbScript.Append("opener.setValue('" + sbId.ToString() + "','" + sbName.ToString() + "');");//这段是关键
sbScript.Append("window.opener= null;window.close();");
2.父窗口代码
//父窗口的JS脚本代码
function setValue(valid,valname)
{
var sel= document.getElementById('<%=ddlSaleChange.ClientID%>');
var id=valid.split(",");//split用于读取所有数据
var name=valname.split(",");
sel.options.length=0;
for(var i = 0; i < id.length; i++)
{
var strName =name[i];
var strValue =id[i];
var objOption = new Option(strName,strValue);
sel.add(objOption, i);
}
}