protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
LinkButton lnkDel;
if (e.Row.RowIndex >=0)
{
lnkDel = (LinkButton)e.Row.Cells[8].Controls[0];
lnkDel.Attributes.Add("onclick", "return confirm('确定要删除该记录吗?')");
}
}
Cells[8]肯定没错,对应的代码是: <asp:CommandField HeaderText="删除" ShowDeleteButton="True">
<ItemStyle Width="50px" />
</asp:CommandField>
跟踪发现Controls里面的控件数为0,晕的一米,好像原来在3.5里面是正常的。
OnClientClick="return confirm('确定要删除该记录吗?')"
直接在gridview上写OnClientClick就可以了:<asp:GridView ID="gvReport" runat="server" DataKeyNames="ID" AllowSorting="True" AutoGenerateColumns="False" onrowcommand="gvReport_RowCommand" PageSize="10"><Columns>
<asp:TemplateField HeaderText="操作" HeaderStyle-Width="150px">
<ItemTemplate>
<asp:LinkButton ID="lbtDel" runat="server" OnClientClick="return confirm('确定删除吗?');" CommandName="gvReport_Del" CommandArgument='<%#Eval("ID") %>' Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView> 后台cs:
//gridview事件
protected void gvReport_RowCommand(object sender, GridViewCommandEventArgs e)
{
//删除
if (e.CommandName == "gvReport_Del")
{
//删除操作
}
}