C# 页面未从DB/Gridview ASP.NET中删除

C# 页面未从DB/Gridview ASP.NET中删除,c#,asp.net,C#,Asp.net,我的ASP.NET Web应用程序出现问题: 我有一个Gridview,它显示mdb数据库上“Pages”表的行;id和标题旁边有两个按钮,编辑和删除。虽然“编辑”按钮工作正常,但“删除”按钮不起作用。我已经在delPagina(deletepage)方法的开始处设置了断点,似乎这种方法根本没有运行。这是Gridview代码: <asp:GridView ID="grdPagine" CssClass="table table-condensed" BackImageURL="..

我的ASP.NET Web应用程序出现问题:

我有一个Gridview,它显示mdb数据库上“Pages”表的行;id和标题旁边有两个按钮,编辑和删除。虽然“编辑”按钮工作正常,但“删除”按钮不起作用。我已经在delPagina(deletepage)方法的开始处设置了断点,似乎这种方法根本没有运行。这是Gridview代码:

<asp:GridView ID="grdPagine" CssClass="table table-condensed"     BackImageURL="../media/img/hbg.png" runat="server" AutoGenerateColumns="false"     OnRowDeleting="delPagina">
<Columns>
    <asp:BoundField DataField="id" HeaderText="ID" />
    <asp:BoundField DataField="titolo" HeaderText="Titolo" />
    <asp:TemplateField>
        <ItemTemplate>
            <a href="EditPagina.aspx?idPag=<%# Eval("id") %>" class="btn btn-warning">Modifica</a>
            <asp:Button ID="delBut" runat="server" CssClass="btn btn-danger"   CommandName="Delete" Text="Elimina" />
            </ItemTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>
活动:

protected void delPagina(object sender, GridViewDeleteEventArgs e)
    {
            int id = int.Parse(this.grdPagine.Rows[e.RowIndex].Cells[0].Text);
            int b = new PaginaService().delPagina(id);
            List<Pagina> pag = new PaginaService().mlistapagine();
            this.grdPagine.DataSource = pag;
            this.grdPagine.DataBind();
    }
受保护的void delPagina(对象发送方,GridViewDeleteEventArgs e)
{
int id=int.Parse(this.grdPagine.Rows[e.RowIndex].Cells[0].Text);
int b=新的PaginService().delPagina(id);
List pag=new paginservice().mlistapagine();
this.grdPagine.DataSource=pag;
this.grdPagine.DataBind();
}
对不起,如果我的术语有点不合适,但这对我来说是一个新单词。 提前谢谢


编辑:当我单击按钮时,页面会刷新,但不会显示gridview,因此我必须再次手动刷新。

根据您的代码,delBut按钮中没有单击事件


您可以在gridview中使用
RowCommand
事件,因为您的按钮
CommandName=“Delete”
您可以使用RowCommandCommandArgument,请查看以下代码示例

<asp:GridView ID="grdPagine" CssClass="table table-condensed"     BackImageURL="../media/img/hbg.png" runat="server" AutoGenerateColumns="false"  OnRowCommand=grdPagine_RowCommand"    OnRowDeleting="delPagina">
<Columns>
    <asp:BoundField DataField="id" HeaderText="ID" />
    <asp:BoundField DataField="titolo" HeaderText="Titolo" />
    <asp:TemplateField>
        <ItemTemplate>
            <a href="EditPagina.aspx?idPag=<%# Eval("id") %>" class="btn btn-warning">Modifica</a>
            <asp:Button ID="delBut" runat="server" CssClass="btn btn-danger"   CommandName="Delete" Text="Elimina" CommandArgument='<%# Bind("id") %>' />
            </ItemTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>

并在代码背后声明

protected void grdPagine_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
            {
int id = Convert.ToInt32(e.CommandArgument);
            int b = new PaginaService().delPagina(id);
            List<Pagina> pag = new PaginaService().mlistapagine();
            this.grdPagine.DataSource = pag;
            this.grdPagine.DataBind();

}

}
protectedvoid grdPagine_RowCommand(对象发送方,GridViewCommandEventArgs e)
{
如果(如CommandName==“删除”)
{
int id=Convert.ToInt32(e.CommandArgument);
int b=新的PaginService().delPagina(id);
List pag=new paginservice().mlistapagine();
this.grdPagine.DataSource=pag;
this.grdPagine.DataBind();
}
}

希望上面的代码能够解决您的问题

在按钮中添加单击事件。不幸的是,上面的代码不起作用。我还忘了提到,当我单击“删除”按钮时,页面会刷新,但没有Gridview,因此我必须再次手动刷新。请共享您的代码.aspx和.cs,我们必须查看您的Gridview不可见的原因。
protected void grdPagine_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
            {
int id = Convert.ToInt32(e.CommandArgument);
            int b = new PaginaService().delPagina(id);
            List<Pagina> pag = new PaginaService().mlistapagine();
            this.grdPagine.DataSource = pag;
            this.grdPagine.DataBind();

}

}