情景:
一张表里有个字段Size,存的是文件的大小,long型。
实体里也是public long Size{get;set;}
在前台,如果直接显示(<%=model.Size %>)的话,它就是一个long型的数字。
现在我在公共类库加了一个函数,
public static string ReturnFileSize(long size) { 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; }
,传入一个long,返回一个string,带单位。
现在我在前台用Common.Utils.ReturnFileSize(model.Size)这样来调用,发现这样写在前台太难看了,应该怎么优化?
为实体model额外增加一个属性,用来返回Common.Utils.ReturnFileSize(model.Size)的值,在界面上直接显示这个属性即可
model.Size 在读取的时候,重定义一次。
类似代码:model.Size=Common.Utils.ReturnFileSize(dr["size"]);