如何实现:在VS 2003中用鼠标点击datagrid某一个单元格(或者是这个单元格旁边绑定的按钮),假设datatrid的某一列为“jybgh”。这时候弹出一个showModalDialog窗口,原来单元格中的内容在新窗口中可以显示出来,同时可以对显示出来的内容进行修改进数据库中。在关闭showModalDialog窗口时将自动再次刷新datagrid页面。

解决方案 »

  1.   

    showModalDialog窗口的时候把参数传进去,修改完成后再调用一段JS,
    刷新父窗口的window.opener.location.reload() 或这样
    window.opener.location = window.opener.location;
      

  2.   

    汗。
    你在按钮哪加一个js方法,就是一个方法就是一个弹出界面,
    window.showModalDialog("updatapage.aspx?参数",...);
    你在updatapage.aspx页面中得到主键之后,去更新信息
    例如里面有个保存
    在保存的最后加上一段代码
    response.write(window.opener.location = window.opener.location;)
    response.write(js关闭当前窗口);
      

  3.   

    1、onclick="window.showModalDialog('1.aspx','','');document.execCommand('Refresh');" 
    2、onclick="window.showModalDialog('1.aspx','','');history.go(0);" 
    3、onclick="window.showModalDialog('1.aspx','','');location.reload();" window.opener.location.reload()是用在window.open()时。
      

  4.   

    请问我要将 jybgh这个字段传过去,window.showModalDialog中怎么写啊?
    <INPUT id="btn_Master" type="button" name="Button1" onclick="window.showModalDialog('edit/yinpin_edit.aspx',this,'dialogWidth=400px;dialogHeight=300px')">
      

  5.   

    你可以看看window.showModalDialog函数有一个参数,可以将你从datagrid中单元格的内容赋值进去,然后在这个弹出窗口中用dialogAruguments来获取这个参数,也就是单元格的内容。我觉得写得很清楚了。
      

  6.   

    function openModalWindow(openUrl,msgNum,hb,WindowWidth,WindowHeight)
        { 
            openUrl += "?num=" +  msgNum;
            openUrl += "&rty=" + hb;
            var vw=window.showModalDialog(openUrl,'Dialog Arguments Value','dialogWidth='+WindowWidth+';dialogHeight='+WindowHeight+';dialogTop='+(screen.height-WindowHeight)/2+';dialogLeft='+(screen.width-WindowWidth)/2+';toolbar=0;directories=0;status=0;location=0;resizable=0;scrollbars=0;help=0');
            if(vw == 1)
            {
                window.location.reload();
            } 
        }
      

  7.   

    openUrl这个是要打开的页面,在这个页面的关闭事件中返回,比如,你修改成功了就return 1(刷新)
    没有成功就返回别的值
      

  8.   

    我在datagrid中绑定了一个模板列,模板列中加了一个button按钮,点击某行的button按钮,打开yinpin_edit.aspx界面,同时该行的“jybgh”这个字段值传给yinpin_edit.aspx页面中,window.showModalDialog中具体怎么写啊?请高手在以下代码中完善,谢谢! 
    代码如下所示:
    <INPUT id="btn_Master" type="button" name="Button1" onclick="window.showModalDialog('edit/yinpin_edit.aspx',,'dialogWidth=400px;dialogHeight=300px')">
      

  9.   

    <asp:TemplateField FooterText="操作" HeaderText="操作">
                                    <ItemTemplate>
                                        <a href="#" onmousedown="openModalWindow('showMsg.aspx','<%# DataBinder.Eval(Container.DataItem, "msgNum")%>',1,'700','700')">详情</a>
                                    </ItemTemplate>
                                    <ItemStyle BackColor="#E0E0E0" Width="100px" />
                                    <HeaderStyle BackColor="#9DbBdD" Width="100px" />
                            </asp:TemplateField>
    差不多的使用这个是