Onclick 事件不会从单个单元格单击触发

Onclick event not firing from individual cell click

我试图在单击 gridview 中的单个单元格时触发 onclick 事件,但它没有调用该函数。我也尝试添加 ("onclick", "Btn_AddNewSite_Click(sender, e)") 但这也不起作用。任何指向正确方向的指示都会很棒。

e.Row.Cells[column].Attributes.Add("onclick", "Btn_AddNewSite_Click()");

protected void Btn_AddNewSite_Click(object sender, EventArgs e)
{
    ModalPopupExtender1.PopupControlID = "Panel1";
    ModalPopupExtender1.Show();
}

e.Row.Cells[column].Attributes.Add("onclick", "Btn_AddNewSite_Click()");

这将向单元格添加一个 HTML 属性,这意味着无论何时您在浏览器中单击该单元格,浏览器都会查找名为 "Btn_AddNewSite_Click" 的 JavaScript 函数,这显然不是这是一个服务器端 .NET 函数。

您可以通过确保 Btn_AddNewSite 是一个 LinkBut​​ton 来做到这一点。

<asp:LinkButton ID="Btn_AddNewSite" runat="server" OnClick="Btn_AddNewSite_Click"></asp:LinkButton>

然后您可以使用 javascript 代码处理单元格中的 LinkBut​​ton 单击,方法是使用它的 UniqueID。

e.Row.Cells[column].Attributes.Add("onclick", "__doPostBack('" + Btn_AddNewSite.UniqueID + "', '')");