【问题标题】:How to add an ImageButton to label using c#如何使用 c# 将 ImageButton 添加到标签
【发布时间】:2014-03-29 13:13:38
【问题描述】:

我正在尝试使用 C# 将 ImageButton 添加到标签,但我没有成功....有人可以帮助我吗?

谢谢

这就是我所做的-(删除是标签的名称)

var img = new ImageButton();
img.ID = "delete" + i;
img.ImageUrl = "images/1395958363_meanicons_57.png";
img.OnClientClick = "Delete_Click";
img.Width = 48;
img.Height = 38;
Delete.Page.Form.Controls.Add(img);

【问题讨论】:

  • 为什么要将它添加到标签中?

标签: c# html asp.net visual-studio-2010 imagebutton


【解决方案1】:

如果 Delete 是标签的名称(我建议将其重命名为 DeleteLbl 或类似名称),那么您将转到标签,获取对页面的引用,然后是页面上的表单,然后将 ImageButton 添加到那。这很令人费解。相反,我认为您想将其直接添加到 Label 的控件中。

Delete.Controls.Add(img);

【讨论】:

    【解决方案2】:

    我认为您不应该将 ImageButton 控件添加到 Label 控件。这看起来不像是对 Label 控件的语义使用(应该用于显示文本)。

    但是,您通常希望将子控件添加到您尝试将其添加到的任何控件的 .Controls 集合中,而不是页面或表单的 .Controls 集合中。像这样:

    Delete.Controls.Add(img);
    

    您应该使用a PlaceHolder control 而不是标签:

    <asp:PlaceHolder ID="myControlHolster" runat="server" />
    

    然后将您的 ImageButton 添加到其中:

    myControlHolster.Controls.Add(img);
    

    【讨论】:

      【解决方案3】:

      您可以使用以下代码,其中 2.jpg 是您的按钮图像:

      <asp:button id="myButton" style="background-image:url('2.jpg'); background-color:red; cursor:hand;" Runat="server" Height="25px" BorderStyText="ButtonText" Width="200px" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 1970-01-01
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        • 2020-11-14
        相关资源
        最近更新 更多