日期:2014-05-17  浏览次数:20622 次

软件大小 单位 从字节转换成 M
有代码

<asp:TemplateField HeaderText="软件大小">
                <ItemTemplate>
                   <asp:Label ID="lbl_objlen" runat="server" Text='<%# Bind("ObjProgLen") %>'></asp:Label>
                </ItemTemplate>
                       </asp:TemplateField>


我现在想  通过 Text='<%# DataBinder.Eval(Container.DataItem,"ObjProgLen","这里怎么写“  %>'

这样的方法 把 数据库中存的软件大小 为字节 转换成 M  并显示 出来

最后 输出 为   比如数据库中 1048576字节   显示 的时候 是  1M   记得显示的时候有单位哦   谢谢

------解决方案--------------------
好久没用过控件了,确实不会写了

试试下面的方法

#region 转换文件大小
/// <summary>
/// 转换文件大小
/// </summary>
/// <param name="size">文件的大小</param>
/// <returns></returns>
public static string ReturnFileSize(object osize)
{
int site=int.Pause(osize.ToString());
string FileSize = ""; if (size != 0)
{
if (size >= 1073741824)
{
FileSize = System.Math.Round(Convert.ToDouble((double)size / (double)1073741824), 2).ToString() + "GB";  //GB           
}
else if (size >= 1048576)
{
FileSize = System.Math.Round(Convert.ToDouble((double)size / (double)1048576), 2).ToString() + "MB";
}
else if (size >= 1024)
{
FileSize = System.Math.Round(Convert.ToDouble((double)size / (double)1024), 2).ToString() + "KB"; int a = size / 1024 * 100; int b = size / 1024;
}
else
{
FileSize = size.ToString() + "bytes";
}
}
else { FileSize = size.ToString() + "bytes"; } return FileSize;
}


 Text='<%#上面那个方法所在的类名.ReturnFileSize(((DataRowView)Container.DataItem)["xxxx"])%>
 
------解决方案--------------------
记得有除法的哦。Text='<%# (Convert.ToDouble(Eval("ObjProgLen"))/1048576).ToString("0.0M") %>'