1

ListViewの各itme内にイメージを表示しています。私はイメージを水平に、また垂直にボックス内に配置したいと思っています。スタイル属性が表示されない

Protected Sub MembersLV_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles MembersLV.ItemDataBound 
     If e.Item.ItemType = ListViewItemType.DataItem Then 
      Dim LogoImage As System.Web.UI.WebControls.Image = e.Item.FindControl("LogoImage") 
      Dim LogoLink As HtmlControl = e.Item.FindControl("LogoLink") 
      Dim di As ListViewDataItem = DirectCast(e.Item, ListViewDataItem) 
      Dim ImageFileName As String = di.DataItem("FileName") 

      Dim FilePath As String = String.Format("/Uploads/MembersDirectory/w125h85/{0}", ImageFileName) 
      If File.Exists(Server.MapPath(FilePath)) Then 
       LogoImage.ImageUrl = FilePath 

       Dim BoxHeight As Integer = 101 
       Dim BoxWidth As Integer = 138 

       Dim B As New Bitmap(Server.MapPath(FilePath)) 
       Dim BHeight As Integer = B.Height 
       Dim BWidth As Integer = B.Width 

       Dim PaddingTop As Integer = Math.Ceiling(BoxHeight - BHeight)/2 
       Dim PaddingLeft As Integer = Math.Ceiling(BoxWidth - BWidth)/2 

       LogoLink.Attributes.Add("style", String.Format("padding: {0} 0 0 {1};", PaddingTop, PaddingLeft)) 
      End If 
     End If 
    End Sub 

私は単にトップのために必要な、それを中央に配置する画像の左パディングの量を計算し、その後、周囲のタグにスタイル属性としてそのパディングを追加します。次のように私のコードです。

私はこのコードを実行した
<a href='<%#Eval("Website") %>' id="LogoLink" runat="server"> 
    <asp:Image ID="LogoImage" runat="server" AlternateText='<%#Eval("Name") %>' /> 
</a> 

、パディングが<a>タグに適用されなかった次のよう

のaspxファイル内のコードです。そこで、PaddingTopPaddingLeftResponse.Writeを使って正しく計算されていることを確認しました。不思議なことに、今回はこれを実行したときに、スタイル属性が正しく表示されました!しかし、Response.Writeがなければ、スタイル属性はありません。

私は間違っていますか?

答えて

1

私はちょうどそれから休憩の後でこれを別の見て持ってきた。それを見て5分過ごしたのですが、私は突然パディングの単位を指定していないことに気付きました!これが機能するようになりました

LogoLink.Attributes.Add("style", String.Format("padding: {0}px 0 0 {1}px;", PaddingTop, PaddingLeft)) 

:に

LogoLink.Attributes.Add("style", String.Format("padding: {0} 0 0 {1};", PaddingTop, PaddingLeft)) 

:私からのコードを変更しました!また、私はstyle属性がソースに実際に表示されていることを発見しました。(ページのソースを表示すると)、Firebugで検査して香りを捨て去っただけでは表示されません。私はまだResponse.Writeの行を追加するとスタイル属性が適用されていることを意味しているのは分かりません。

関連する問題