主體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+'&ParamB='+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>"); } 
|