首页 新闻 会员 周边

关于数据前台显示问题

0
[已解决问题] 解决于 2014-06-25 12:51

情景:

一张表里有个字段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)这样来调用,发现这样写在前台太难看了,应该怎么优化?

DZCMS的主页 DZCMS | 初学一级 | 园豆:5
提问于:2014-06-21 16:29
< >
分享
最佳答案
0

为实体model额外增加一个属性,用来返回Common.Utils.ReturnFileSize(model.Size)的值,在界面上直接显示这个属性即可

奖励园豆:5
诶碧司 | 小虾三级 |园豆:1912 | 2014-06-21 21:57
其他回答(1)
0

model.Size 在读取的时候,重定义一次。

类似代码:model.Size=Common.Utils.ReturnFileSize(dr["size"]);

leerh | 园豆:207 (菜鸟二级) | 2014-06-21 17:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册