现在的位置: 首页 > 综合 > 正文

asp.net中的模态对话框

2012年10月26日 ⁄ 综合 ⁄ 共 1057字 ⁄ 字号 评论关闭
终于开始写B/S的程序。

今天遇到了一个问题, 如何处理模态对话框。具体的要求是:在选择页面上的“添加”按钮,弹出模态对话框,在对话框中添加记录后,选择“确定”按钮,关闭对话框,更新主页面表格的数据。

网上关于模态对话框的讨论有很多,试了一天,发现一个比较好的解决方法:

1、显示对话框:

  在jscript脚本文件中加入: 

   

function OpenEditWin(frmWin,width,height) 

  {       

   
var me; 

   
// 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。 

   me = window; 

   
// 显示对话框。 

   window.showModalDialog(frmWin,me,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no') 

  } 

  在C#中调用 :

cmdAdd.Attributes.Add("onclick","javascript:OpenEditWin('" + Session["showForm"+ "',540,400)"); 

很多方法是用 Response.Write或者RegisterStartupScript 来实现,但是都存在问题,如显示对话框时页面是空白、刷新页面的时候弹出对话框等。

在对话框中加入:

function onsubmit() // 强制本窗口提交 

  { 

   document.Form1.target
="_self"

  } 

2、关闭对话框 

  

 Response.Write("<script language='javascript'>"); 

   Response.Write(
"window.close()"); 

   Response.Write(
"</script>"); 

3、对话框关闭后,执行更新操作

   在对话框的关闭事件中加入: 

 

Response.Write("<script language='javascript'>"); 

   Response.Write(
"window.close()"); 

   Response.Write(
"</script>"); 

4、更新主页面中的表格数据。

  在“添加”按钮的处理方法中,添加表格更新的代码。  

抱歉!评论已关闭.