代码之家  ›  专栏  ›  技术社区  ›  BerggreenDK

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

  •  0
  • BerggreenDK  · 技术社区  · 17 年前

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

    我可以使用添加控件 LoadControl(指向.ascx的路径) -没问题。

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

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

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

    1 回复  |  直到 11 年前
        1
  •  1
  •   womp    17 年前

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

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

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

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

    if (!IsPostBack) 防止每次重新绑定。

    没有看到你的代码,我无法给出比这更具体的东西。

    推荐文章