现有一GridView其数据源通过代码获取,想要实现删除某一行的功能。通过以下方法实现了删除功能,但每次点击按钮删除后Gridview就消失了,这是为什么?
HTML代码: <asp:GridView ID="GridView22" runat="server" AllowPaging="True" AutoGenerateColumns="False"
BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3"
CellSpacing="1" GridLines="None" Width="800px">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<Columns>
<asp:BoundField DataField="TopupNumID" HeaderText="排号" />
<asp:TemplateField HeaderText="用户帐号">
<ItemTemplate>
<a href="javascript:void window.open ('TopupInfo.aspx?id=<%#Eval("UserID")%>', 'newwindow','height=280, width=420, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')"><%#Eval("UserNameEmail")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TopupType" HeaderText="方式" SortExpression="TopupType" />
<asp:BoundField DataField="TopupDate" HeaderText="日期" SortExpression="TopupDate" />
<asp:BoundField DataField="TopupMoney" HeaderText="金额" SortExpression="TopupMoney" />
<asp:BoundField DataField="TopupStatus" HeaderText="状态" SortExpression="TopupStatus" />
<asp:TemplateField HeaderText="积分">
<ItemTemplate>
<asp:Label ID="Label12" runat="server" Text='<%# "+"+Eval("TopupIntegal") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton7" runat="server" CommandArgument='<%# Eval("TopupID") %>' OnCommand="LinkButton7_Click">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#C6C3C6" Font-Bold="True" Font-Names="Times New Roman" ForeColor="Red"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" /> </asp:GridView>
////////////////////////////////////////////////////////////////////////////////////////////////////// .cs代码如下:
{ .
.
.
GridView22.DataSource=ds;
GridView22.DataBind();
}
protected void LinkButton7_Click(object sender,CommandEventArgs e)
{
int topupid = Convert.ToInt16(e.CommandArgument);
Del_TopupTable(topupid);
GridView22.DataBind();
}
Del_TopupTable(int topupid)
{
//实现Sql删除功能部分
} 以上代码能实现了删除功能(在Sql数据库中检查可见),但每次点击LinkButton7实现删除功能后,Gridview22就消失了,无法看见删除后的结果(数据库中的数据有多条,不会出现仅一条删除后消失情况),各位高手能否指点一下小弟!
HTML代码: <asp:GridView ID="GridView22" runat="server" AllowPaging="True" AutoGenerateColumns="False"
BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3"
CellSpacing="1" GridLines="None" Width="800px">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<Columns>
<asp:BoundField DataField="TopupNumID" HeaderText="排号" />
<asp:TemplateField HeaderText="用户帐号">
<ItemTemplate>
<a href="javascript:void window.open ('TopupInfo.aspx?id=<%#Eval("UserID")%>', 'newwindow','height=280, width=420, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')"><%#Eval("UserNameEmail")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TopupType" HeaderText="方式" SortExpression="TopupType" />
<asp:BoundField DataField="TopupDate" HeaderText="日期" SortExpression="TopupDate" />
<asp:BoundField DataField="TopupMoney" HeaderText="金额" SortExpression="TopupMoney" />
<asp:BoundField DataField="TopupStatus" HeaderText="状态" SortExpression="TopupStatus" />
<asp:TemplateField HeaderText="积分">
<ItemTemplate>
<asp:Label ID="Label12" runat="server" Text='<%# "+"+Eval("TopupIntegal") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton7" runat="server" CommandArgument='<%# Eval("TopupID") %>' OnCommand="LinkButton7_Click">删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#C6C3C6" Font-Bold="True" Font-Names="Times New Roman" ForeColor="Red"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" /> </asp:GridView>
////////////////////////////////////////////////////////////////////////////////////////////////////// .cs代码如下:
{ .
.
.
GridView22.DataSource=ds;
GridView22.DataBind();
}
protected void LinkButton7_Click(object sender,CommandEventArgs e)
{
int topupid = Convert.ToInt16(e.CommandArgument);
Del_TopupTable(topupid);
GridView22.DataBind();
}
Del_TopupTable(int topupid)
{
//实现Sql删除功能部分
} 以上代码能实现了删除功能(在Sql数据库中检查可见),但每次点击LinkButton7实现删除功能后,Gridview22就消失了,无法看见删除后的结果(数据库中的数据有多条,不会出现仅一条删除后消失情况),各位高手能否指点一下小弟!
解决方案 »
- VS2010开发工具 怎么设置浏览器
- 出现错误!!高手 求救 不知道 哪里设置错了
- 用户的查询条件应该怎样保存
- 不用login控件如何把userName和password传给membership provider并触发其验证,得到返回验证结果
- 如何限制TEXTAREA控件的输入数据长度,象INPUT控件有个maxlength可以设置,TEXTAREA控件如何达到这种效果。
- 用asp怎样将一个阳历转换为阴历?
- 两个小问题_在线等待...
- 如何获取数据库中某个字段值的一部分
- 关于刷新的一个问题
- 请 jackyhx 和 monkey_zeng 来领分!!!
- 帮个忙!!判断为空
- 请大家帮忙解决一个棘手问题
GridView22.DataBind();
这些代码对应的方法.
还不行的话请检查:
1、看看<%@ Page Language="C#" AutoEventWireup="true"
EnableViewState="false" %>里是不是设置了 EnableViewState="false";这样的话没有重新绑定会消失的。
2、if (!Page.IsPostBack)
{}
3、定断点看看执行流程。