網頁中彈出對自定義對話框並進行傳值
发表于:2007-06-30来源:作者:点击数:
标签:
主體WEB頁中: private void Page_Load(object sender, System.EventArgs e) { string strScript=script language=\ java script\\n //-------------------------------------------------單個值返回 strScript += function GetValue(InfoA,InfoB){\n; strScri
主體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>");
}
原文转自:http://www.ltesting.net