FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4619|回复: 5
打印 上一主题 下一主题

请教动态添加按钮事件怎么没有响应?

[复制链接]
跳转到指定楼层
楼主
发表于 2016-11-5 10:17:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1、我动态创建了浮动的 按钮,这些按钮添加了 点击事件,但事件都不执行,请问哪里出问题了?

2、还有我创建完之后,怎么在form1.controls里遍历不到这些按钮控件?

  1. private void LoadDevice(string floorId)
  2.     {
  3.         DataTable dtDevice = CSql.Select("select * from Light_Device where 楼层编号='" + floorId + "'").Tables[0];

  4.         for(int i =0;i<dtDevice.Rows.Count;i++)
  5.         {
  6.             
  7.             FineUI.Button btn = new FineUI.Button();
  8.             
  9.             btn.ID = dtDevice.Rows[i]["ID"].ToString();
  10.             btn.ToolTip = dtDevice.Rows[i]["DName"].ToString();            
  11.             //btn.Click += btnLightControl_Click;
  12.             btn.Click += new EventHandler(btnLightControl_Click);
  13.             if (dtDevice.Rows[i]["Sta"].ToString() == "1")
  14.             {
  15.                 btn.CssClass = "Light_On";
  16.             }
  17.             else
  18.             {
  19.                 btn.CssClass = "Light_Off";
  20.             }
  21.             btn.CssStyle = "left:" + dtDevice.Rows[i]["X"].ToString() + "px;top:" + dtDevice.Rows[i]["Y"].ToString() + "px;";

  22.             form1.Controls.Add(btn);
  23.         }
  24.     }

  25.     protected void btnLightControl_Click(object sender, EventArgs e)
  26.     {
  27.         ((FineUI.Button)sender).CssClass = ((FineUI.Button)sender).CssClass == "Light_On" ? "Light_Off" : "Light_On";
  28.     }
复制代码


沙发
发表于 2016-11-5 10:59:52 | 只看该作者
本帖最后由 zy32002 于 2016-11-5 11:00 编辑

LoadDevice 在哪里加载的? 动态添加f控件要在page_init事件里才可以
板凳
 楼主| 发表于 2016-11-5 11:36:18 | 只看该作者
在page load事件里

  1. protected void Page_Load(object sender, EventArgs e)
  2.     {

  3.         if (!IsPostBack)
  4.         {
  5.             LoadDevice("01");
  6.         }
  7.     }
复制代码
地板
 楼主| 发表于 2016-11-5 11:37:07 | 只看该作者
zy32002 发表于 2016-11-5 10:59
LoadDevice 在哪里加载的? 动态添加f控件要在page_init事件里才可以

在Page_Load事件里,控件已经添加成功了,可以在页面看到控件,但就是 按钮控件 的 点击事件 没有响应
5#
发表于 2016-11-5 13:49:29 | 只看该作者
动态创建控件和添加控件事件代码要放到Page_Init中,一般仅用于初始化:http://www.cnblogs.com/sanshi/archive/2012/11/19/2776672.html
6#
 楼主| 发表于 2016-11-5 14:39:20 | 只看该作者
sanshi 发表于 2016-11-5 13:49
动态创建控件和添加控件事件代码要放到Page_Init中,一般仅用于初始化:http://www.cnblogs.com/sanshi/arc ...

可以了  ,  感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-27 09:17 , Processed in 0.045783 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表