主體web頁中:
private void page_load(object sender, system.eventargs e)
{
string strscript="<script language=\"javascript\">\n"
//————————————————-單個值返回
strscript += "function getvalue(infoa,infob){\n";
strscript += "var strid=window.showmodaldialog(popforms/testpop.aspx?parama=+infoa+¶mb=+infob,null,";
strscript +="dialogwidth:450px;dialogheight:480px;center:1;scroll:1;help:0;status:0;resizable:no;)\n";
strscript += "if (strid!=undefined)\n document.all[" + txttext.clientid + "].value=strid;\n" ;//結果strid賦值給txttext
strscript += "}\n"; //如果返回的是數組
//———————————————— 多值返回
sbscript.append("function openeditlot(){\n");
sbscript.append("var strid=window.showmodaldialog(popforms/test.aspx?mytime=+date(),null,");
sbscript.append("dialogwidth:433px;dialogheight:450px;center:1;scroll:1;help:0;status:0;resizable:no;)\n");
sbscript.append("if(strid!=undefined) {document.all[" + txta.clientid + "].value=strid[0]\n");
sbscript.append(" document.all[" + txtb.clientid + "].value=strid[1]\n");
sbscript.append(" document.all[" + txtc.clientid + "].value=strid[2]\n}");
sbscript.append("}\n");
// more and here….
//————————————————-
strscript += "</script>";
this.page.registerclientscriptblock("clientscript", strscript);
if(!ispostback)
{
btntest.attributes["onclick"] = "getvalue(document.all("+txta.clientid+").checked,document.all("+
txtb.clientid+").value)";
}
}
彈出web頁中:
1.html中定義返回函數,供在頁面中調用返回函數
<head>
<title>querylot</title>
<meta name="generator" content="microsoft visual studio 7.0">
<meta name="code_language" content="c#">
<meta name="vs_defaultclientscript" content="javascript">
<meta name="vs_targetschema" content="http://schemas.microsoft.com/intellisense/ie5">
<link href="../../webcontroler/icmes.css" type="text/css" rel="stylesheet">
<base target="_self">
<script language="javascript">
function returnvalue(pama,pamb,pamc)
{
var my_array = new array(pama, pamb,pamc);
window.returnvalue = my_array;
window.close();
}
</script>
</head>
2.在頁面中調用返回函數
//用按鈕返回
private void page_load(object sender, system.eventargs e)
{
if(!ispostback)
{
btnreturn.attributes["onclick"] = "returnvalue("+valuea+","+valueb+","+valuec+")";
}
}
//用datagrid點擊返回
private void dbgrid_itemdatabound(object sender, system.web.ui.webcontrols.datagriditemeventargs e)
{
if (e.item.datasetindex != -1)
{
e.item.cells[0].attributes["onclick"] = "returnvalue("+e.item.cells[0].text+","+e.item.cells[1].text+","+
e.item.cells[2].text+")";
e.item.cells[0].cssclass = "";//引用點擊時的css樣式文件
}
}
3.無返回值的返回
private void btncancel_click(object sender, system.eventargs e)
{
response.write("<script language=javascript> window.close(); </script>");
}
