C# 将带有按钮的用户控件列表添加到占位符-无事件?

C# 将带有按钮的用户控件列表添加到占位符-无事件?,c#,asp.net,user-controls,event-handling,loadcontrol,C#,Asp.net,User Controls,Event Handling,Loadcontrol,我想使用“复杂”的usercontrols,其中包含多个控件元素。这是我将在列表中重用的同一个控件,并且我已经有了一个占位符控件 我可以添加带有LoadControl(路径到.ascx)的控件-没问题 我也可以通过自定义属性获取/设置访问嵌入的标签,这样我就可以完美地初始化每个控件 但是当添加链接按钮时,我会遇到麻烦/问题 当我点击按钮时,我确实得到了呈现控件的页面的“提交”;但是控件自己的按钮事件似乎没有触发(或者至少父页面上的PageLoad似乎是最先触发的?)-我不知道事件发生在哪里,也不

我想使用“复杂”的usercontrols,其中包含多个控件元素。这是我将在列表中重用的同一个控件,并且我已经有了一个占位符控件

我可以添加带有LoadControl(路径到.ascx)的控件-没问题

我也可以通过自定义属性获取/设置访问嵌入的标签,这样我就可以完美地初始化每个控件

但是当添加链接按钮时,我会遇到麻烦/问题

当我点击按钮时,我确实得到了呈现控件的页面的“提交”;但是控件自己的按钮事件似乎没有触发(或者至少父页面上的PageLoad似乎是最先触发的?)-我不知道事件发生在哪里,也不知道在哪里查找此按钮的名称/ID或参数

我怎么会在这里做错什么


我现在通过在URL中使用带有ID的“硬编码a HREF”的标签制作了一个“假按钮”,但我想了解我需要捕获什么事件以及在哪里或如何初始化按钮,因为我希望能够为这些用户控件使用“默认ASP.NET”控件(希望没有太多的补丁编码)…

事件“丢失”的唯一原因是,没有以ASP.Net可以在回发后将事件与控件关联的方式重新创建控件。它通过使用ID属性来实现

换句话说,你做错了三件事之一:

1) 在回发之后的Init中的创建阶段,您将以不同的方式分配链接按钮的ID

2) 您正在使用代码动态创建链接按钮,但在页面生命周期的初始阶段之后才这样做,因此控件不会参与ViewState

3) 您正在绑定父控件的数据源,该父控件包含每个回发上的链接按钮。如果(!IsPostBack),请使用
以防止每次重新绑定它


在没有看到您的代码的情况下,我无法给出比这更具体的内容。很遗憾。

请发布生成链接按钮并绑定其事件的代码隐藏。感谢您的时间,我尝试在示例站点中重现此问题,现在它可以按预期工作了?!!??!我相信这与我在同一页面上运行的相当复杂的AJAX功能有关。因为如果没有这些,代码就可以完美地工作。我该如何进行?我是删除这个问题还是关闭这个问题?如果您仍然遇到这个问题,请重新编写/重新标记该问题并包含源代码。控件在PageLoad第一次完全(可视化)构建。这就是我想要的。但是usercontrol有按钮,我需要在单击时获取这些事件。。。但我上面的评论说明了一切。谢谢你的时间,很抱歉。很抱歉耽搁了这么长时间,但是项目被取消了。不过我已经调查过了。似乎是AJAX.NET与Masterpages的结合起了“作用”。