本函数实现的功能如下:先提示一个消息,然后调用父窗口中的一个函数,最后关闭本窗口.但是调用后发现只执行了第一个功能,及提示了一个消息后,点确定就什么都不动了,本窗口也没关闭.不知道为什么.大家帮帮忙.public static void CloseMessage(string Message)
{
//输出确认js脚本名
const string SCRIPTKEY="clientScript"; //脚本
string strConfirmJs=@"
<script language=""javascript"">
alert ("""+Message+@""");
if(opener!=null)
{
window.opener.BindData();
}
window.close(); 
</script>
";

if(Message!="")
{
//向页面输出js脚本
((System.Web.UI.Page)System.Web.HttpContext.Current.Handler).RegisterClientScriptBlock(SCRIPTKEY,strConfirmJs);
}
}

解决方案 »

  1.   

    BindData()是父窗体中我想要执行的一个函数
      

  2.   

    估计binddata()出错了。你贴出的代码无错。运行正常。
      

  3.   

    谢谢好心人!
        BindData()没有错,我的想法这样的:在父窗口中有一个datagrid,子窗口是一个添加数据的窗口.子窗口添加完后,我想让父窗口的这个datagrid自动更新,把刚在子窗口添加的数据显示出来.这个BindData()函数就是绑定并刷新父窗口的datagrid用的.   
        如果我在父窗口加一个按纽,然后把BindData()放在这个按纽的点击事件中,datagrid能被手动更新并显示出数据.说明这个函数没有错.
        BindData()是一个c#函数,会不会是window.opener.functionname();中的这个functionname()只能是javascript函数呢?如果真是这样,我怎么才能调用这个C#函数?
      

  4.   


    BindData()必须是javascript的。可以在BindData的javascript里写刷新本页的操作。
      

  5.   

    感谢!
    但是,我的BindData()函数有二三十行,里面全都是用的C#语句,能改成javascript吗?有些语句在javascript里都没有的啊!这该怎么办?