GridView项目模板linkbutton捕获代码背后

时间:2012-08-03 08:25:47

标签: c# asp.net gridview itemtemplate

我的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?')");

2 个答案:

答案 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?');");
     }
 }