我想在后面的代码中创建我的图像按钮。所以我使用这段代码:
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\"/>";
但它不起作用。什么都没有显示。
任何想法?!
答案 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)
您需要将其添加到页面上的容器中,请参阅以下文章:
答案 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);