如何在代码后面的ImageButton中加载图像?

时间:2012-08-15 09:03:52

标签: c# asp.net

我想在后面的代码中创建我的图像按钮。所以我使用这段代码:

 LiteralControl ltr = new LiteralControl();

 ltr.Text = "<asp:ImageButton class=\"stylImage\" AlternateText=\"Signature\" runat=\"server\" ImageUrl=\"~/images/Workflow/digital-signature-pic.jpg\" OnCommand=\"Image_OnCommand\" CommandName=\"imgclick\"/>";

但它不起作用。什么都没有显示。

任何想法?!

3 个答案:

答案 0 :(得分:3)

不使用Literal控件,而是添加面板控件并在面板中包含ImageButton控件。您应该在Page Init事件

中添加控件
protected void Page_Init(object sender, EventArgs e)
{
    ImageButton imgBtn = new ImageButton();
    imgBtn.ID = "img_id";
    imgBtn.ImageUrl = "~/images/Workflow/digital-signature-pic.jpg";
    imgBtn.AlternateText= "Signature";
    imgBtn.Click += (source, args) =>
    {
        // do something
    };
    Panel1.Controls.Add(imgBtn);
}

答案 1 :(得分:0)

您需要将其添加到页面上的容器中,请参阅以下文章:

http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx

答案 2 :(得分:0)

您无法将服务器端控件写入文字。 你有两个选择,

  • 直接在页面上设置图像按钮并更改可见性属性
  • 或添加占位符或面板控件并动态添加图像按钮,如下所示

            ImageButton btn = new ImageButton(); 
            btn.ImageUrl = "my image url";
    
            btn.Click += btn_Click;
    
            btn.ID = "create an ID";
            etc....
            ph.Controls.Add(btn);