2010-07-27 61 views
0

我想在代碼隱藏的數據列表中設置圖像的寬度和高度。在代碼隱藏設置圖像寬度/高度 - ASP.NET,C#

計劃是根據寬度/高度做一些比這更復雜的事情,因此將aspx文件中的寬度和高度設置爲50%不是一種選擇。

由於某種原因,我總是得到0的寬度和高度。 Image1.ImageUrl是我所期望的,儘管。有任何想法嗎?圖像是System.Web.UI.Webcontrols.Image,而不是System.Drawing.Image。

protected void DataList9_ItemDataBound(object sender, DataListItemEventArgs e) 
    { 
     Image Image1 = (Image)e.Item.FindControl("Image1"); 

     double height = Image1.Height.Value; 
     double width = Image1.Width.Value; 
     height = height * 0.5; 
     width = width * 0.5; 

     Image1.Height = new Unit(height); 
     Image1.Width = new Unit(width); 
    } 

回答

1

img標記記住,默認情況下不設置widthheight。在這種情況下,除非您設置了WidthHeight,否則它們將爲0(或未定義)。如果您需要實際的(圖像,像素)寬度和高度,則需要通過將圖像加載到內存中來發現。

根據文件類型的不同,.NET可能有一個解碼器或已經能夠加載它。將它加載到Bitmap然後查詢那裏的寬度和高度。

0

你試過聲明/定義onload處理的圖像,並在那裏設置高度/寬度?

2

上面的代碼引用了一個圖像控件,它更可能不會指定寬度和/或高度。

做你想做的事我相信你需要獲得圖像的來源並使用GDI將其加載到內存中。然後你可以確定寬度和高度。然後,您可以對高度和寬度進行調整,並應用於圖像標記的屬性。

1

我不確定c#,但我可以在VB.net中以這種方式編寫代碼,所以我確信有一些等價物,它看起來像解決你的意圖,如果不是你的實際編碼問題。

隨着DIMAGE
      .WIDTH = 50%
      .Height = 50%
結束隨着

我與設置在我的XAML圖像高度以及離開試了既出來。

- 爲佈局目的而編輯。

相關問題