我想做的就是在编辑选中行的时候弹出一个新的页面来修改,修改完了之后将值传回原页面.我的代码是这样的,我应该怎么做啊?
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton1" runat="server" Text="编辑" CausesValidation="false" CommandName="Edit"></asp:LinkButton></FONT>
</ItemTemplate>
<EditItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="LinkButton3" runat="server" Text="更新" CausesValidation="False" CommandName="Update"></asp:LinkButton>&nbsp;
<asp:LinkButton id="LinkButton2" runat="server" Text="取消" CausesValidation="false" CommandName="Cancel"></asp:LinkButton></FONT>
</EditItemTemplate>
</asp:TemplateColumn>还有一点 就是我datagrid里面的值是从数据库里面读出来的 修改之后要在datagrid中显示更新后的值,这些该怎么做啊?
谢谢大家了.很急很急的!

解决方案 »

  1.   

    前提是修改页是弹出打开的,不是<a target=_blank>打开的。
    修改以后可以用javascript重新定向父页面的地址,这样就取到刷新数据的效果了
    <script>
    opener.location.href="......"
    self.close();
    </script>
    注意,不要用opener.location.reload()刷父页面,因为里面有form,会提示不提交数据无法刷新
      

  2.   

    楼上正解
    弹出页面你用在Button的事件里就行了
    父页面自动刷新是用客户端脚本
      

  3.   

    //****js 打开窗体函数
    function OpenWindows(varurl)
    {
       var returnMsg=window.showModiledialog(varurl,"");
    }
    //****在itemdatabound事件中调用此函数
    //****获取编辑按钮和记录编号
    HtmlInputHidden txtid=(HtmlInputHidden)e.item.findcontrol("txtid");
    LinkButton lkbEdit=(LinkButton)e.item.findcontrol("lblEdit");if(txtid!=null)
    {
        //*** caret url
        string strURL="frminfo.aspx?ID="+txtid.value;
        lkbEdit.Attributes("onclick","javascript:OpenWindows("+strURL+");");
    }
    //****在itemcommand事件重新加载数据就可以了.
      

  4.   

    模板列里面的"编辑"是响应的事件,和button不一样啊.能配合代码说的更仔细点吗?
      

  5.   

    //****当然可以啦!
    //***你是用的DataGrid 自带的模版列按钮一个啊!//****前台调用js函数,打开窗体并传值
    <asp:ButtonColumn Text="&lt;img src=images/edit.gif border=0 align=absmiddle onclick=&quot;'javascript:Modify(-1);'&quot;alt='修改' &gt;"></asp:ButtonColumn>
    //****后台代码,一般修改按钮在倒数第二例
       if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.Footer)
            {
                e.Item.Cells[e.Item.Cells.Count - 1].Attributes.Add("onclick", "javascript:WindowOpens(" + strURL + ");");
            }
      

  6.   

    private void datagrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.CommandName == "Edit")
    { } }
      

  7.   

    button按钮的commandname属性设置为'Edit'