asp.net - ASP.NET 用户控件上的链接按钮未触发

标签 asp.net user-controls linkbutton event-handling

我有一个用户控件,它被添加到另一个用户控件。嵌套的用户控件由一个 GridView、一个图像按钮和一个链接按钮组成。基于绑定(bind)到 GridView 的结果,嵌套的用户控件作为集合对象添加到外部控件。

我遇到的问题是我的链接按钮不起作用。我点击它,但事件没有触发。即使添加断点也没有达到。由于多次添加了嵌套用户控件,我已将图像按钮和链接按钮设置为具有唯一 ID。虽然图像按钮与其 JavaScript 一起正常工作。链接按钮需要在后面的代码中触发一个事件,但尽管我尽了一切努力,我还是无法让它发挥作用。我正在动态地将链接按钮添加到控件中。以下是我正在使用的相关代码:

public partial class ucCustomerDetails : System.Web.UI.UserControl
{
public event EventHandler ViewAllClicked;

protected override void CreateChildControls( )
{
   base.CreateChildControls( );

   string strUniqueID = lnkShowAllCust.UniqueID;
   strUniqueID = strUniqueID.Replace('$','_');
   this.lnkShowAllCust.ID = strUniqueID;
   this.lnkShowAllCust.Click += new EventHandler(this.lnkShowAllCust_Click);
   this.Controls.Add(lnkShowAllCust);
}

protected override void OnInit (EventArgs e)
{
   CreateChildControls( );
   base.OnInit(e);
}

protected override void OnLoad(EventArgs e)
{
   base.EnsureChildControls( );
}

protected void Page_Load(object sender, EventArgs e)
{
   if (IsPostBack)
   {
   CreateChildControls( );
   }
}

protected void lnkShowAllCust_Click(object sender, EventArgs e)
{
   this.OnCustShowAllClicked(new EventArgs ( ));
}

protected virtual void OnCustShowAllClicked(EventArgs args)
{
   if (this.ViewAllClicked != null)
   {
      this.ViewAllClicked(this, args);
   }
}    
}

过去 3 天我一直在努力解决这个问题,但没有成功,我真的需要一些帮助。

谁能帮帮我?

最佳答案

我的 LinkBut​​ton 没有触发它的 Click 事件,原因是我将其 CausesValidation 属性设置为 True。如果您不希望链接验证表单,请务必将其设置为 False。

关于asp.net - ASP.NET 用户控件上的链接按钮未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212785/

相关文章:

c# - 使用 MVVM 包含不同用户控件的 TabControls

asp.net - C# 从 web.config 中读取 customHeaders 值

c# - 将 PDF 流式传输到 iframe

asp.net - ApplicationShutdownReason.BuildManagerChange 和 ApplicationPool 在 IISExpress 中重启

c# - 如何在设计时 (C#) 隐藏一些默认控件属性?

c# - 如何使用文件名从程序集中加载用户控件?

c# - LinkBut​​ton 触发 OnClick 事件和 Javascript 事件

c# - ASP.NET - 在 UpdatePanel 内的 ListView 内使用 LinkBut​​ton 触发异步回发

c# - 如何获取从事件处理程序中的代码隐藏动态生成的链接按钮 ID

c# - iFrame 在 asp AjaxToolkit TabContainer 中加载两次