需求:一个页面中有个按钮,点击按钮弹出模态对话框,模态窗口中在textbox中输入字符,如果点击“确认”则传回textbox中的字符串同时执行主页面的按钮click事件,模态窗口中如果点击“取消”则不执行主页面的按钮click事件
C# asp.net中
页面a.aspx 里面有个button按钮一个textbox id为txta,txta的onclientclick事件中调用js方法弹出一个模态窗口b.aspx
 function a()
    {
       var i=window.showModalDialog("b.aspx","","dialogHeight=200px;dialogWidth=200px");
       alert(i[0]);
       if(i[0]=="true")
       {
       document.getElementById("txta").value=a.j;//将传回的字符串赋值到txta中
       return true;
       }
       else 
       {
       return false;
       }
    }
b.aspx(模态窗口)中有一个textbox id为txtb,两个input button,名称分别为“确认”“取消”
点击“确认”执行js方法
   function sendTo1() 
 { 
  var a=new Array("true",document.getElementById("txtb").value);//返回真值使得主页面执行button的click事件
  window.returnValue =a;
  window.close(); 
 } 
点击“取消”执行js方法
 function sendTo2() 
 { 
  var a=new Array("false");
  window.returnValue =a;
  window.close(); 
 } 
代码贴完了,问题也来了
当我点击主页面的button时执行onclientclick事件弹出模态窗口b.aspx
在模态窗口中我点击“确认”,模态窗口关闭,同时传回模态窗口中txtb中的字符串,主页面也执行了button的click事件
在模态窗口中我点击“取消”,模态窗口关闭,传回false,主页面中将不执行button的click事件
但是当我点击模态窗口右上角的叉叉时,模态窗口关闭,主页面执行了button的click事件,这是我不希望发生的。
还有一点,如果我在模态窗口不传数组回主页面,而只是传回简单的bool值true或false时,在模态窗口中点击叉叉,主页面是不执行button的click事件的,但是如果传数组,点模态窗口的叉叉就回执行主页面的button的click事件。
讲的很详细了,这到底该怎么解决,我已经扣了一天了,痛苦啊 高手解答