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

动态控制、更新面板和事件-实现我的结果的最佳方法

  •  0
  • CountZero  · 技术社区  · 16 年前

    我把头发拔出来,在网上做了一点调查,试图找到一个优雅的解决方案。

    我有一个productimages.aspx页面。它在动态创建的列表中显示与该产品关联的所有图像。事件连接到每个图片以允许您更新它。

    这个很好用。

    但是,在结尾处我有一个选项,可以让我添加一个新图像。这是一个按钮,用于触发对AddImage方法的调用。

    现在正在发生的是,正在创建原始控件,并将其与事件一起添加到页面中。然后,按钮事件如果被激发,将重新创建所有现有的图像控件和新的图像控件。将此点添加到OnInit之后创建的新图像控件没有附加事件,因为在OnInit之后添加的事件。

    我可以做一个响应,重定向到重新加载页面并触发OnInit以再次连接事件,但这看起来非常不雅,并破坏了使用更新面板的意义。

    有什么想法吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   rvarcher    16 年前

    我认为您可以在一个DIV中加载图片上载控件,并有一个javascript链接来切换DIV的显示属性。

    或者使用Ajaxtoolkit中的可折叠面板隐藏和显示上载表单。

    我认为这两种方法中的任何一种都比仅仅为了检索图片上传表单而进行回发(即使是在更新面板中)更优雅。

        2
  •  0
  •   Sam Schutte    15 年前

    你的问题让它听起来像是你说你不能把控件放在OnInit中,因为它只在页面的第一次加载时被激发。但情况并非如此,每次加载页面(包括回发)时都会激发它,因此即使使用更新面板,也可以在那里重新创建控件。

    一个财产 初始加载和回发之间的不同之处在于page.ispostback属性,您可以使用它在页面的第一次加载上执行操作。