【问题标题】:Event for Dynamically created Controls in ASP.NetASP.Net 中动态创建控件的事件
【发布时间】:2012-03-18 03:39:48
【问题描述】:

我创建了一个应用程序,在该应用程序中创建了按钮单击事件的动态控件。但是动态创建的控制事件不会在点击它时触发。 下面是我写的代码。

   ImageButton closeImage = new ImageButton();
        closeImage.ID = "ID"+ dr["ID"].ToString();
        closeImage.AlternateText = "Delete";
        closeImage.ImageUrl = "App_Themes/images/CloseButton.png";
        closeImage.Attributes.Add("style", "float:right;cursor:pointer;margin: -19px 1px -10px;");
        closeImage.EnableViewState = true;
        closeImage.CommandName = "Delete";
        closeImage.CommandArgument = dr["ID"].ToString();
        closeImage.Attributes.Add("runat", "server");
        closeImage.OnClientClick = "return confirm('Are you sure you want to remove this');";
        closeImage.Click += new ImageClickEventHandler(this.closeImage_click);


  protected void closeImage_click(object sender, ImageClickEventArgs e)
{
    ImageButton ibDel = (ImageButton)sender;
}

如果将其放在 Page_Load() 上,则相同的代码可以工作。是否有任何其他解决方案可以触发该事件。

【问题讨论】:

    标签: asp.net events dynamic controls


    【解决方案1】:

    我建议您阅读 MSDN 上的以下文章。这是关于页面生命周期的。关键部分是何时创建控件。如果控件在错误的阶段创建,事件将不会被注册,因此不会触发。

    http://msdn.microsoft.com/en-us/library/ms178472%28v=vs.80%29.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-22
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2014-07-26
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      相关资源
      最近更新 更多