用JS可以返回子窗口中的对象到父窗口
在子窗口的CS文件里注册JS
string sXML = “。。。”;//gridview里取出来的值
string vParams = "window.returnValue ='" + sXML + "';window.close();";
string sScript = string.Format("<script type=/"text/javascript/" language=/"javascript/">{0}</script>", vParams);
this.ClientScript.RegisterStartupScript(this.GetType(), "ReturnWin", sScript, false);
-
JScript code
-
// 这是主窗口里的JS < script type = " text/javascript " language = " javascript " > function OpenWin() { var nRet = window.showModalDialog( " ModelSelect.aspx " ,window, " dialogHeight:450px;dialogWidth:690px; " ); // nRet的值是从子窗口返回的 if (nRet.length > 0 ) { // 处理程序 } } < / script>
在子窗口的CS文件里注册JS
string sXML = “。。。”;//gridview里取出来的值
string vParams = "window.returnValue ='" + sXML + "';window.close();";
string sScript = string.Format("<script type=/"text/javascript/" language=/"javascript/">{0}</script>", vParams);
this.ClientScript.RegisterStartupScript(this.GetType(), "ReturnWin", sScript, false);
这个OpenWin()
时间是你那个按钮(就是在主窗口中让子窗口弹出来的按钮,按钮最好用客户端控件),当子窗口关闭时会返回sXML(举例), 你可以把这个JS接收到的nRet的值用JS保存到Panel里等 |
2:子窗体的gridview中的linkbutton 可以把值传个父窗体,linkbutton,文本可以绑定Eval(“Name”),commandName命名,commandArgument绑定要传值的参数,在gridview的rowcommand的事件中,写程序,先判断CommandName是不是等于我们的命名,再获取commandArgument的值作为字符串,然后用response.write输出js的代码"window.returnValue ='" + xx + "';window.close();";
3:listbox
3:listbox
在页面加个js
function OnSelectedIndexChanged(e)
{
var userID = e.options[e.selectedIndex].value;
{
var userID = e.options[e.selectedIndex].value;
window.returnValue=userID
window.close();
}
window.close();
}
在load中加个
list.Attributes.Add("onchange", "OnSelectedIndexChanged(this);");
绑定listbox的数据源的时候要记住加list.TextFileData='name';
list.TextFileData='id';