C# 如何定义动态超链接单击事件?
我陷入了某种困境:我正在运行时创建一个带有导航URL的超链接。我需要定义它的click事件,以便将一些值保存到数据库中。我做了下面这样的事情,但没有成功 你能建议一个替代方案吗C# 如何定义动态超链接单击事件?,c#,asp.net,radgrid,C#,Asp.net,Radgrid,我陷入了某种困境:我正在运行时创建一个带有导航URL的超链接。我需要定义它的click事件,以便将一些值保存到数据库中。我做了下面这样的事情,但没有成功 你能建议一个替代方案吗 protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { HyperLink link = (HyperLink)gridDataItem["Content
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
有一个可以使用的Click
事件处理程序
HyperLink
仅重定向,并且没有与服务器端代码关联的相应单击事件处理程序您想要的是链接按钮,而不是超链接
下面是一些示例代码,可以帮助您入门(未经测试)
你应该使用链接按钮。只要在代码中用LinkButton替换你的超链接就可以了
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) {
if (e.Item is GridDataItem) {
LinkButton link = (LinkButton )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.Click += dummyBtn_Click;
}
}
protected void dummyBtn_Click(object sender, EventArgs e) {
}
链接不支持导航URL是的,这是y,我不能使用LinkBUtton..上面的代码已经实现,点击事件正在触发,但现在我无法确定调用哪一行,以便插入值…不幸的是,我的RadGrid1_ItemDataBound也没有触发,我被卡住了………上帝保佑。。
protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) {
if (e.Item is GridDataItem) {
LinkButton link = (LinkButton )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.Click += dummyBtn_Click;
}
}
protected void dummyBtn_Click(object sender, EventArgs e) {
}