2

ASP.NETのリピーターに画像があります。この画像の幅をデータベースから返された値に動的に設定する必要があります。SQLデータベースから情報を取得し、リピーターを結果セットまたはデータソースにバインドして、リピーター内の画像の幅を次のように指定しようとします。

<asp:Image ID="Image1" runat="server" Width='<%# Eval("ImageSize") %>' ImageUrl="~/Images/ProgressBar.jpg"/>

エラーが発生しました

Specified cast is not valid.

これは、データベースから返されるデータ型が原因で発生する可能性がありますか?

4

2 に答える 2

2

使用System.Web.UI.WebControls.Unit.Parse方法:

<asp:Image 
      ID="Image1" 
      runat="server" 
      Width='<%# System.Web.UI.WebControls.Unit.Parse(Eval("ImageSize").ToString()) %>'
      ImageUrl="~/Images/ProgressBar.jpg"/>
于 2012-06-19T11:52:55.090 に答える
2

次のように aspx ファイルに書き直します。

Width='<%# ConvertToImageSize(Eval("ImageSize")) %>'

コード ビハインド:

protected int ConvertToImageSize(object imageSize)
{
  int i = 0;
  if (imageSize != null)
  {
    i = Convert.ToInt32(imageSize); 

   }

  return i;

}

少し荒いですが、残りの処理を簡単に行うことができれば幸いです。

于 2012-06-19T11:59:32.620 に答える