按钮单击事件未在用户控件中触发,而是在另一个用户控件中动态创建

谢尔盖·别列布涅夫

我有可视化 Web 部件和两个用户控件。Page_Load()我动态创建的可视 Web 部件上userControl1

protected void Page_Load(object sender, EventArgs e)
{
  UserControl1 userControl = Page.LoadControl(userControl1Path) as UserControl1;
  userControl.ID = "UserControl1";
  this.Controls.Clear();
  this.Controls.Add(userControl);
}

在 UserControl1 我有一个按钮,它加载第二个用户控件(UserControl2)(它可以工作!):

protected void GoToUserControl2_Click(object sender, EventArgs e)
{
  UserContol2 userControl = Page.LoadControl(userControl2Path) as UserContol2;
  userControl.ID = "UserContol2";
  this.Controls.Clear();
  this.Controls.Add(userControl);
}

UserControl2也有一个按钮,但是当我点击它时 - 点击事件不会触发。而不是它,按钮单击执行重定向到UserControl1. 即使按钮没有任何事件 - 它也会重定向到UserControl1.

请帮帮我!

VDWWD

动态生成的控件必须在每次页面加载时重新创建,其中包括回发。因为第二个用户控件仅在单击按钮时加载,所以在执行另一个回发时它会消失。您必须跟踪是否UserContol2已创建,如果已创建,请将其重新加载到父级的 Page_Load 中。在这个片段中,我使用 aSession来跟踪UserContol2.

在按钮单击方法中设置会话

protected void GoToUserControl2_Click(object sender, EventArgs e)
{
    //rest of the code
    Session["uc2_open"] = true;
}

并检查 Page_load 会话是否存在,如果存在,则创建第二个用户控件。

protected void Page_Load(object sender, EventArgs e)
{
    UserControl1 userControl = Page.LoadControl(userControl1Path) as UserControl1;
    userControl.ID = "UserControl1";
    this.Controls.Clear();
    this.Controls.Add(userControl);

    if (Session["uc2_open"] != null)
    {
        UserContol2 userControl = Page.LoadControl(userControl2Path) as UserContol2;
        userControl.ID = "UserContol2";
        this.Controls.Clear();
        this.Controls.Add(userControl);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过单击另一个用户控件中的按钮在用户控件中的文本框中显示一些文本?

来自分类Dev

如何在另一个项目中引用的用户控件中单击呼叫按钮?

来自分类Dev

关闭子窗体,然后单击C#.net中的用户控件中的按钮,打开另一个窗体?

来自分类Dev

GridView RowCommand事件未在动态添加的用户控件中触发

来自分类Dev

通过位于另一个用户控件中的按钮将用户控件置于前面

来自分类Dev

创建一个使用另一个用户控件的用户控件

来自分类Dev

每次单击时清除一个动态控件,而是从列表中添加另一个字符串

来自分类Dev

单击时如何将用户控件置于另一个控件的前面

来自分类Dev

在切换到另一个控件之前,如何将数据保存在用户控件上?

来自分类Dev

当用户在 Java Swing 中单击按钮时从另一个类创建一个新对象

来自分类Dev

是否可以在另一个用户控件上看到一个用户控件?

来自分类Dev

如何从Windows Phone 8.1中的用户控件导航到另一个页面

来自分类Dev

如何重用解决方案中另一个项目的Web用户控件?

来自分类Dev

我可以在不创建新实例的情况下访问另一个用户控件中的表单控件吗?

来自分类Dev

如何将一个用户控件的视图模型中的属性绑定到另一个用户控件中的属性

来自分类Dev

将一个用户控件中的列表视图中的项目拖动到另一个用户控件中的画布

来自分类Dev

如何在C#中为动态创建的用户控件创建单击事件?

来自分类Dev

自定义控件事件未在用户控件内触发

来自分类Dev

绑定到另一个用户控件

来自分类Dev

用户控件中的动态控件

来自分类Dev

将数据发送到另一个用户控件内的用户控件

来自分类Dev

从另一个用户控件 Winforms C# 更改用户控件

来自分类Dev

动态创建的用户控件,可从主窗体中检测按钮单击

来自分类Dev

关闭在用户控件中打开的一个或多个表单

来自分类Dev

一个按钮可以控制许多用户控件上的另一个按钮

来自分类Dev

当从另一个窗体触发按钮单击事件时,在窗体的面板中绘制一个矩形

来自分类Dev

父页面的keyDown事件即使在用户控件中处理后也会触发

来自分类Dev

使用主窗体c#中的按钮在用户控件中调用事件

来自分类Dev

如何在自定义控件中创建一个按钮以触发onClick事件,并以自定义控件所在的主要形式对其进行处理?

Related 相关文章

  1. 1

    如何通过单击另一个用户控件中的按钮在用户控件中的文本框中显示一些文本?

  2. 2

    如何在另一个项目中引用的用户控件中单击呼叫按钮?

  3. 3

    关闭子窗体,然后单击C#.net中的用户控件中的按钮,打开另一个窗体?

  4. 4

    GridView RowCommand事件未在动态添加的用户控件中触发

  5. 5

    通过位于另一个用户控件中的按钮将用户控件置于前面

  6. 6

    创建一个使用另一个用户控件的用户控件

  7. 7

    每次单击时清除一个动态控件,而是从列表中添加另一个字符串

  8. 8

    单击时如何将用户控件置于另一个控件的前面

  9. 9

    在切换到另一个控件之前,如何将数据保存在用户控件上?

  10. 10

    当用户在 Java Swing 中单击按钮时从另一个类创建一个新对象

  11. 11

    是否可以在另一个用户控件上看到一个用户控件?

  12. 12

    如何从Windows Phone 8.1中的用户控件导航到另一个页面

  13. 13

    如何重用解决方案中另一个项目的Web用户控件?

  14. 14

    我可以在不创建新实例的情况下访问另一个用户控件中的表单控件吗?

  15. 15

    如何将一个用户控件的视图模型中的属性绑定到另一个用户控件中的属性

  16. 16

    将一个用户控件中的列表视图中的项目拖动到另一个用户控件中的画布

  17. 17

    如何在C#中为动态创建的用户控件创建单击事件?

  18. 18

    自定义控件事件未在用户控件内触发

  19. 19

    绑定到另一个用户控件

  20. 20

    用户控件中的动态控件

  21. 21

    将数据发送到另一个用户控件内的用户控件

  22. 22

    从另一个用户控件 Winforms C# 更改用户控件

  23. 23

    动态创建的用户控件,可从主窗体中检测按钮单击

  24. 24

    关闭在用户控件中打开的一个或多个表单

  25. 25

    一个按钮可以控制许多用户控件上的另一个按钮

  26. 26

    当从另一个窗体触发按钮单击事件时,在窗体的面板中绘制一个矩形

  27. 27

    父页面的keyDown事件即使在用户控件中处理后也会触发

  28. 28

    使用主窗体c#中的按钮在用户控件中调用事件

  29. 29

    如何在自定义控件中创建一个按钮以触发onClick事件,并以自定义控件所在的主要形式对其进行处理?

热门标签

归档