如何在另一个窗口DataGrid中打开Edit

时间:2011-08-12 16:52:34

标签: .net asp.net visual-studio gridview

我正在使用数据库的网格视图在aspx中创建GUI。我想知道是否有一种方法可以在另一个窗口中超链接每一行进行编辑?我不希望表的其余部分只显示用户想要编辑的行。我还希望该行进入新窗口后处于编辑模式。我现在有了它在新窗口中单独打开行,但用户仍然需要单击编辑按钮。这是我正在使用的代码。

<asp:TemplateField HeaderText="Edit">
      <ItemTemplate>
       <asp:LinkButton ID="lnkname" runat="server" Text='<%#Eval("ID") %>' PostBackUrl='<%#"~/editDetails.aspx?ID="+Eval("ID") %>' >
       </asp:LinkButton>
       </ItemTemplate>
</asp:TemplateField>

这就是我想要的,但我希望它在点击新页面时处于编辑模式。任何想法都会很棒。

2 个答案:

答案 0 :(得分:2)

我建议你在弹出窗口中打开可编辑记录。看看这个例子

Master-Detail with the GridView, DetailsView and ModalPopup Controls

否则,如果您想按照自己的方式进行操作,要在新页面中打开可编辑记录,您可以在新页面中添加DetailsView / FormView并以可编辑的形式显示记录。看一下这个例子GridView-DetailsView (Master/Detail) Control

答案 1 :(得分:0)

尝试这样的事情:

<asp:HyperLink ID="HyperLink1" runat="server" Text="Click Me!" NavigateUrl="javascript:openChildWindowWithDimensions('<URL>', '850', '625', false, false, true);"></asp:HyperLink>     

 openChildWindowWithDimensions = function(url, width, height, showMenu, canResize, showScrollbars) {
        var childWindow = window.open(url, "", "\"width=" + width + ",height=" + height + ",menubar=" + (showMenu ? "1" : "0") + ",scrollbars=" + (showScrollbars ? "1" : "0") + ",resizable=" + (canResize ? "1" : "0") + "\"");
        if (childWindow){
            childWindow.resizeTo(width, height);
        }
    }