C# 在ASP.NET中使用Eval动态设置图像宽度

C# 在ASP.NET中使用Eval动态设置图像宽度,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我在ASP.NET的转发器中有一个映像。我需要将此图像的宽度动态设置为从数据库返回的值。我从SQL db获取信息,然后将转发器绑定到结果集或数据源,并尝试在转发器中指定图像的宽度,如下所示: <asp:Image ID="Image1" runat="server" Width='<%# Eval("ImageSize") %>' ImageUrl="~/Images/ProgressBar.jpg"/> 这可能是由于数据库返回的数据类型造成的吗?使用System.We

我在ASP.NET的转发器中有一个映像。我需要将此图像的宽度动态设置为从数据库返回的值。我从SQL db获取信息,然后将转发器绑定到结果集或数据源,并尝试在转发器中指定图像的宽度,如下所示:

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

这可能是由于数据库返回的数据类型造成的吗?

使用
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"/>

使用
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"/>

在aspx文件中重新写入如下内容:

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

虽然有点粗糙,但我希望您可以轻松地完成处理的其余部分。

在aspx文件中重新编写如下内容:

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

有点粗糙,但我希望您可以轻松地完成处理的其余部分。

什么是字段数据类型,它可以为null?大小不能为null,从DB返回的字段类型为Int。感谢jField数据类型是什么,它可以为null?大小不能为null,从DB返回的字段类型为Int。感谢jTanks。与@AVD的解决方案相比似乎有点乏味,但仍然是一个很好的答案。谢谢,JI需要设置为百分比而不是px。我该怎么做?谢谢你。与@AVD的解决方案相比似乎有点乏味,但仍然是一个很好的答案。谢谢,JI需要设置为百分比而不是px。我该怎么做?