在ASP.NET 2.0中操作数据之二十八:GridView里的Button
在ASP.NET 2.0中,GridView是非常重要的一个控件,用来显示数据非常方便快捷。在GridView中添加Button可以实现许多功能,比如删除、修改、查看详情等等。下面是如何在GridView里添加Button的详细攻略。
一、添加Button到GridView
- 在GridView中添加TemplateField。
使用TemplateField可以将Button放到GridView中。在GridView的控件中选择编辑模板,在编辑模板中添加Button控件就可以了。
- 在Button上添加事件。
添加事件可以实现Button控件的功能。在Button的属性中选择“事件”,添加想要的事件即可。比如,添加点击事件实现删除数据的功能。
html
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />
</ItemTemplate>
</asp:TemplateField>
二、GridView中Button的使用
- 绑定数据到GridView。
在GridView中绑定数据,可以使用SqlDataSource控件或者自定义数据源。这里使用SqlDataSource控件,将数据源和GridView绑定。
```html
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM [Table] WHERE [ID] = @ID" SelectCommand="SELECT * FROM [Table]">
```
- 实现Button的功能。
在Button的OnClick事件中实现删除数据的功能。通过GridView的CommandArgument属性获取行索引,通过DataKeys获取数据的主键ID,最后执行删除操作。
csharp
protected void btnDelete_Click(object sender, EventArgs e)
{
Button btnDelete = sender as Button;
GridViewRow row = btnDelete.Parent.Parent as GridViewRow;
int rowIndex = row.RowIndex;
int ID = (int)GridView1.DataKeys[rowIndex].Value;
SqlDataSource1.DeleteParameters["ID"].DefaultValue = ID.ToString();
SqlDataSource1.Delete();
GridView1.DataBind();
}
三、示例说明
示例一:在GridView中添加多个Button
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />
<asp:Button ID="btnEdit" runat="server" Text="编辑" OnClick="btnEdit_Click" />
<asp:Button ID="btnDetail" runat="server" Text="详情" OnClick="btnDetail_Click" />
</ItemTemplate>
</asp:TemplateField>
protected void btnDelete_Click(object sender, EventArgs e)
{
// 删除数据
}
protected void btnEdit_Click(object sender, EventArgs e)
{
// 编辑数据
}
protected void btnDetail_Click(object sender, EventArgs e)
{
// 查看详细信息
}
示例二:在GridView里添加自定义Button样式
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<a href="javascript:;" class="btn-delete" onclick="btnDelete_Click(<%# Eval("ID") %>)"></a>
<a href="javascript:;" class="btn-edit" onclick="btnEdit_Click(<%# Eval("ID") %>)"></a>
<a href="javascript:;" class="btn-detail" onclick="btnDetail_Click(<%# Eval("ID") %>)"></a>
</ItemTemplate>
</asp:TemplateField>
protected void btnDelete_Click(object sender, EventArgs e)
{
int ID = Convert.ToInt32((sender as Button).CommandArgument);
// 删除数据
}
protected void btnEdit_Click(object sender, EventArgs e)
{
int ID = Convert.ToInt32((sender as Button).CommandArgument);
// 编辑数据
}
protected void btnDetail_Click(object sender, EventArgs e)
{
int ID = Convert.ToInt32((sender as Button).CommandArgument);
// 查看详细信息
}
以上就是在ASP.NET 2.0中操作数据之二十八:GridView里的Button的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在ASP.NET 2.0中操作数据之二十八:GridView里的Button - Python技术站