我陷入困境:我正在运行时创建一个具有导航 URL 的超链接。我需要定义它的点击事件,以便我可以将一些值保存到数据库中。我做了类似下面的事情,但没有成功。
您能建议一个替代方案吗?
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) {
if (e.Item is GridDataItem) {
HyperLink link = (HyperLink)gridDataItem["ContentTitle"].Controls[0];
link.ForeColor = System.Drawing.Color.Navy;
link.ToolTip = Common.grdTextCell(gridDataItem["ContentSummaryDescr"].Text);
link.NavigateUrl = "~/SomePath/" + gridDataItem["ContentName"].Text;
link.Target = "_blank";
link.Attributes.Add("onclick", "document.getElementById('" +
dummyBtn.ClientID + "').click();");
}
}
protected void dummyBtn_Click(object sender, EventArgs e) {
}
但是按钮单击事件没有触发,它只是导航到 URL。请问该怎么办?
最佳答案
要触发服务器端事件,您需要一个 LinkButton
而不是 HyperLink
LinkButton
有一个可供您使用的 Click
事件处理程序。
HyperLink
仅重定向,并且没有与服务器端代码关联的相应 Click 事件处理程序
关于c# - 如何动态定义超链接点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467688/