網頁中彈出對自定義對話框並進行傳值

主體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>

");
}

Published At
Categories with Web编程
Tagged with
comments powered by Disqus