0

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

2 回答 2

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];
     ...
 }
于 2012-08-03T08:44:36.597 回答
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?');");
     }
 }
于 2012-08-03T11:46:49.783 回答