服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

asp.net 不用GridView自带删除功能,删除一行数据

2019-06-23 10:35ASP.NET之家 ASP.NET教程

数据表一定要有个ID的主键值,你的gridview要设定一下DataKeyNames="ID"这个属性值,接下的事件就好多了,写个OnRowDeleting事件就可以了。

前台代码: 

复制代码代码如下:


<asp:GridView ID="GridLog" runat="server" 
AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ID" 
BorderColor="#333" BorderStyle="solid" BorderWidth="1" 
OnRowDeleting="PublicGridRowDeleting" 
GridLines="None" Width="98%" ForeColor="#333333"> 
<FooterStyle BackColor="#507CD1" ForeColor="White" Font-Bold="True" /> 
<Columns> 
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="false" 
ReadOnly="True" 
SortExpression="ID" > 
<ItemStyle HorizontalAlign="Center" Width="20px" /> 
</asp:BoundField> 
<asp:TemplateField HeaderText="删除" ShowHeader="False"> 
<ItemStyle HorizontalAlign="Center" Width="40px" /> 
<ItemTemplate> 
<asp:LinkButton ID="LinkButton1" runat="server" 
CausesValidation="False" CommandName="Delete" OnClientClick="return confirm('您确认删 
除?');" Text="删除"></asp:LinkButton> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
<RowStyle BackColor="#EFF3FB" /> 
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" 
/> 
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" 
/> 
<HeaderStyle BackColor="#5A799C" ForeColor="White" Height="22px" /> 
<AlternatingRowStyle BackColor="White" /> 
<EditRowStyle BackColor="#2461BF" /> 
<EmptyDataTemplate> 
日志库暂时为空! 
</EmptyDataTemplate> 
</asp:GridView> 


CS代码 

复制代码代码如下:


protected void PublicGridRowDeleting(object sender, GridViewDeleteEventArgs e) 

string strID = GridLog.DataKeys[e.RowIndex].Value.ToString();//strID就是该行的ID 
string strSQL = "Delete from table " + 
" WHERE id = " + strID; 
//执行删除 
ClientScript.RegisterStartupScript(GetType(), "Message", "<SCRIPT 
LANGUAGE='javascript'>alert('删除成功!');</script>"); 
GridBind(); 


关键是设定好DataKeyNames后,可以靠 string strID = GridLog.DataKeys 
[e.RowIndex].Value.ToString();获得选择列的ID值 然后用这个ID执行删除就可以了 。

延伸 · 阅读

精彩推荐