我的asp.net项目中有一个gridview,我使用项目模板,如;
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID = "lnkSil" runat="server" CommandName="bla"
CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' Text= "Sil" ></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
我想从后面的代码中捕获这个,我使用下面的代码;
((Button)e.Row.Cells[1].Controls[0]).Attributes.Add("onclick", "return confirm('Bu kaydi silmek istediginizden emin misiniz?')");
但是我失败了如何才能在这样的代码中捕获这个控件
我也试过
((LinkButton)e.Row.Cells[1].Controls[0]).Attributes.Add("onclick", "return confirm('Bu kaydi silmek istediginizden emin misiniz?')");
答案 0 :(得分:0)
如果您想在没有javascript的情况下访问该事件,请使用GridView1_RowCommand。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int currentRowIndex = Int32.Parse(e.CommandArgument.ToString());
LinkButton bf = (LinkButton)gv.Rows[currentRowIndex].Cells[1].Controls[0];
...
}
答案 1 :(得分:0)
试试这个..
protected void gvMyGrid_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
LinkButton lnkSil = (LinkButton)e.Row.FindControl("lnkSil");
lnkSil.Attributes.Add("onclick", "javascript:return confirm('Bu kaydi silmek istediginizden emin misiniz?');");
}
}