我有一个用户控件,它被添加到另一个用户控件。嵌套的用户控件由一个 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 天我一直在努力解决这个问题,但没有成功,我真的需要一些帮助。
谁能帮帮我?
最佳答案
我的 LinkButton 没有触发它的 Click 事件,原因是我将其 CausesValidation 属性设置为 True。如果您不希望链接验证表单,请务必将其设置为 False。
关于asp.net - ASP.NET 用户控件上的链接按钮未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2212785/