//我在DataGrid2中点击编辑按钮时弹出编辑画面private void DataGrid2_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//编辑当前记录
Response.Write("<script>var str=window.showModalDialog('Edit.aspx?ID="+ DataGrid2.DataKeys[(int)e.Item.ItemIndex]  +','','dialogWidth:30;dialogheight:25; edge:sunken ;help: No; resizable: Yes; status: No;');" + 
"</script>");
//我想在模态窗体关闭后在这里刷新一下表格里的数据
                  //可是并没有等窗等关闭就已经开始执行下一句了。
                  //iniGrid();

}private void btnRefresh_Click(object sender, System.EventArgs e)
{
                   //于是我加了一个服务器端控件的按钮,想手动刷新
                   //可是我又不会用Javascript 手动触发服务器端的这个按钮事件
                   //郁闷ing,期待早日解决
 //手动刷新
iniGrid();
}//最后还一个小问题问一下高手,如何用Javascript语句得到DataGrid里的当前选中行的某一个字段的值,如ID。

解决方案 »

  1.   

    试试
     在脚本文件中加入:
      <script language="javascript">
      <!--
      function OpenEditWin(frmWin,width,height) 
      {
          
       var me;
       // 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。
       me = window;
       // 显示对话框。
       window.showModalDialog(frmWin,me,'dialogWidth='+width +'px;dialogHeight='+height+'px;help:no;status:no')
      }
      //-->
     </script>
    在C#中调用 :
    cmdAdd.Attributes.Add("onclick","javascript:OpenEditWin('" + Session["showForm"] + "',540,400)");
      

  2.   

    To--> online(龙卷风V2.0--再战江湖) :我也用过类似方法,在脚本调用showModalDialog,
    是可以等到showModalDialog的窗体关闭后再执行下一句脚本的。
    这是肯定的。如果用这种方法就有那第二个问题,
    怎么用Javascript得到当前DataGrid我准备编辑的那一行
    的某一个字段值,如ID!请高手赐教!
      

  3.   

    wow,看来高手们都还没有起床呢!
      

  4.   

    问题我已经自己解决,
    通过在Javascript里使用if(str=='true'){window.location.reload;}方法成功解决。