Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何定义动态超链接单击事件?_C#_Asp.net_Radgrid - Fatal编程技术网

C# 如何定义动态超链接单击事件?

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

我陷入了某种困境:我正在运行时创建一个带有导航URL的超链接。我需要定义它的click事件,以便将一些值保存到数据库中。我做了下面这样的事情,但没有成功

你能建议一个替代方案吗

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) {
}