这里的列用了TemplateField,好处是这一列可以加几个控件:
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:HyperLink ID="HyperLink2" runat="server" CssClass="lj3" NavigateUrl='<%# Eval("ID","Edit.aspx?aid={0}") %>'>修改</asp:HyperLink>
<asp:LinkButton ID="LinkButton1" runat="server" CssClass="lj3" CommandArgument='<%# Eval("id") %>'
OnClick=“Button1_Click" OnClientClick="javascript:return confirm('您真的要删除吗?')">删除</asp:LinkButton>
</ItemTemplate>
<ItemStyle CssClass="GvStyle_Body_Center" Width="60px" />
<HeaderStyle CssClass="GvStyle_Head" />
</asp:TemplateField>
添加新列,选择TemplateField然后编辑模板,选择相应的ItemTemplate往显示区拖入HyperLink,LinkButton控件。
一、编辑
HyperLink属性Text改为“编辑”,然后"编辑DataBindings",NavigateUrl属性自定义绑定:Eval("ID","Edit.aspx?aid={0}")
Edit.aspx.cs代码
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
return;
string id=Request.QueryString["aid"]; //接收传来的参数
if(id==null)
return;
CM_BottomLinkManage table=new CM_BottomLinkManage(); //数据库管理,建立表table
CM_Bottom_Link row =table.FindBottomLink(Int32.Parse(id)); / /建立表的一行row,查找要编辑的行,字符转换整型
tbTitle.Text = row.Title; //数据表中的字段内容赋值给页面控件
FreeTextBox1.Text = row.Desc;
}
//点击修改后更新数据库
protected void UpdateButton_Click(object sender, EventArgs e)
{
string id=Request.QueryString["aid"];
if (id==null) return;
CM_Bottom_Link rw = new CM_Bottom_Link(); //建立行rw
rw.ID = Int32.Parse(id); //更新的数据写入行中的字段,先要找到更新的行号
rw.Title = tbTitle.Text;
rw.Desc = FreeTextBox1.Text;
CM_BottomLinkManage table=new CM_BottomLinkManage(); //建立表的对象
table.UpdateBottomLink(rw); //将行插入表中
tbTitle.Text="";
FreeTextBox1.Text="";
}
二、删除
1、LinkButton属性Text改为“删除”,Click事件设置函数Button1_Click,然后"编辑DataBindings",CommandArgument属性自定义绑定:Eval("id")
2、Edit.aspx.cs中
protected void Button1_click(object sender, EventArgs e)
{
LinkButton link = (LinkButton)sender; //继承父类sender
string id = link.CommandArgument; //接收参数
CM_BottomLinkManage Linkdb=new CM_BottomLinkManage(); //建立数据库管理的对象
Linkdb.DelBottomLink(Int32.Parse(id)); //调用管理对象的函数DelBottomLink
GridView1.DataBind();
}