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

类别:.NET开发 点击:0 评论:0 推荐:

主體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://com.8s8s.com/it/it43721.htm