主體WEB頁中:
private void Page_Load(object sender, System.EventArgs e)
{
string strScript="
1<script language='\"javascript\"'>\n"
2//-------------------------------------------------單個值返回
3strScript += "function GetValue(InfoA,InfoB){\n";
4strScript += "var strID=window.showModalDialog('PopForms/TestPop.aspx?ParamA='+InfoA+'&ParamB='+InfoB,null,";
5strScript +="'dialogWidth:450px;dialogHeight:480px;center:1;scroll:1;help:0;status:0;resizable:no;')\n";
6strScript += "if (strID!=undefined)\n document.all['" + txtText.ClientID + "'].value=strID;\n" ;//結果strID賦值給txtText
7strScript += "}\n"; //如果返回的是數組
8//------------------------------------------------ 多值返回
9sbScript.Append("function OpenEditLot(){\n");
10sbScript.Append("var strID=window.showModalDialog('PopForms/Test.aspx?myTime='+Date(),null,");
11sbScript.Append("'dialogWidth:433px;dialogHeight:450px;center:1;scroll:1;help:0;status:0;resizable:no;')\n");
12sbScript.Append("if(strID!=undefined) {document.all['" + TxtA.ClientID + "'].value=strID[0]\n");
13sbScript.Append(" document.all['" + TxtB.ClientID + "'].value=strID[1]\n");
14sbScript.Append(" document.all['" + TxtC.ClientID + "'].value=strID[2]\n}");
15sbScript.Append("}\n");
16// more and here....
17//-------------------------------------------------
18strScript += "</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中定義返回函數,供在頁面中調用返回函數
1<head>
2<title>QueryLot</title>
3<meta content="Microsoft Visual Studio 7.0" name="GENERATOR"/>
4<meta content="C#" name="CODE_LANGUAGE"/>
5<meta content="JavaScript" name="vs_defaultClientScript"/>
6<meta content=" http://schemas.microsoft.com/intellisense/ie5 " name="vs_targetSchema"/>
7<link href="../../WebControler/ICMES.css" rel="stylesheet" type="text/css"/>
8<base target="_self"/>
9<script language="javascript">
10function ReturnValue(PamA,PamB,PamC)
11{
12var my_array = new Array(PamA, PamB,PamC);
13window.returnValue = my_array;
14window.close();
15}
16
17</script>
18</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("
1<script language="JavaScript"> window.close(); </script>
");
}