2012-08-15 79 views
2

我想在後面的代碼中創建我的imagebutton。所以我用這個代碼:如何在代碼隱藏中在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\"/>"; 

但它不起作用。沒有顯示。

任何想法?

+1

做出這樣@chridam和@Bex ImageButton'的'新實例做,並且對象添加到一個佔位符或面板。在'Page_Init'方法中做到這一點。 – 2012-08-15 09:58:59

回答

0

你需要將其添加到容器頁面上,看到這篇文章:

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

+0

我正在使用網絡用戶控件。我在表格單元格中添加imagebutton。我應該使用佔位符嗎?!?! – 2012-08-15 09:35:54

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); 
} 
+0

我試過這個。但圖像不加載?!但是當我直接在asp.net中使用我的代碼(而不是代碼隱藏)時,圖像加載完美! – 2012-08-15 09:27:27

+0

我已經編輯了我的答案,以包含頁面初始化事件,您應該添加控件。 – chridam 2012-08-15 09:56:38

+0

它適用於當我在面板中添加我的圖像按鈕。但是當我將它添加到表格中時,單元格ID不起作用?!這是我的代碼:HtmlTableRow row = new HtmlTableRow(); HtmlTableCell cell1 = new HtmlTableCell(); - 創建圖像按鈕,因爲你說--cell.Controls.Add(img); cell.InnerText =「StatusName」; row.Cells.Add(cell);顯示「StatusName」文本,但沒有圖像! tblStatus.Rows.Add(row); – 2012-08-15 10:46:24

0

您無法將服務器端控件寫入文字。 你有兩個選擇,

  • 直接設置圖像按鈕的頁面,然後更改visibility屬性
  • 或添加一個佔位符或面板控制和動態添加圖片按鈕,將它,像這樣

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

我的問題是圖像。它不顯示在頁面中。 – 2012-08-15 09:27:50