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

リテラル コントロールを使用する代わりに、パネル コントロールを追加し、パネルに 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

サーバー側のコントロールをリテラルに書き込むことはできません。2つのオプションがあります。

  • ページに直接画像ボタンを設定し、可視性属性を変更します
  • または、プレースホルダーまたはパネルコントロールを追加し、それに画像ボタンを動的に追加します。

            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 に答える
0

ページのコンテナーに追加する必要があります。次の記事を参照してください。

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

于 2012-08-15T09:09:35.817 に答える