我在ASP.NET中的转发器中有一个图像。我需要动态地将此图像的宽度设置为从数据库返回的值。我从SQL db获取信息,然后将转发器绑定到结果集或数据源,我尝试在转发器中指定图像的宽度,如下所示:
<asp:Image ID="Image1" runat="server" Width='<%# Eval("ImageSize") %>' ImageUrl="~/Images/ProgressBar.jpg"/>
我收到错误说明
Specified cast is not valid.
这可能是由于从db?
返回的数据类型引起的感谢任何帮助。
由于 Ĵ
答案 0 :(得分: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"/>
答案 1 :(得分:2)
在aspx文件中重写,如下所示:
Width='<%# ConvertToImageSize(Eval("ImageSize")) %>'
<强>代码隐藏:强>
protected int ConvertToImageSize(object imageSize)
{
int i = 0;
if (imageSize != null)
{
i = Convert.ToInt32(imageSize);
}
return i;
}
有点粗糙,但我希望你可以轻松完成余下的处理。