2

我想在后面的代码中创建我的 imagebutton。所以我使用这段代码:

 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\"/>";

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

任何想法?!

4

3 回答 3

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);
}
于 2012-08-15T09:09:51.437 回答
0

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

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

于 2012-08-15T09:09:35.817 回答
0

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

  • 直接在页面上设置图像按钮并更改可见性属性
  • 或者添加一个占位符或面板控件并动态添加图像按钮,就像这样

            ImageButton btn = new ImageButton(); 
            btn.ImageUrl = "my image url";
    
            btn.Click += btn_Click;
    
            btn.ID = "create an ID";
            etc....
            ph.Controls.Add(btn);
    
于 2012-08-15T09:11:54.713 回答