从数据库中将mvc中的小数从字节转换为mb

时间:2016-06-10 14:11:27

标签: c# asp.net-mvc razor

模型

public Nullable<decimal> extensionattribute9 { get; set; }

控制器

public class UsersController : Controller
{
    private PortalTestEntities db = new PortalTestEntities();

    // GET: Users
    public ActionResult Index()
    {
        return View(db.Users.ToList());
    }      
}

查看

        <th>
        @Html.DisplayNameFor(model => model.extensionattribute9)
    </th>

What it looks like

如何以MB / 1024显示该数字?

2 个答案:

答案 0 :(得分:1)

“纯粹”的方式是将其添加到模型中:

public Nullable<decimal> extensionattribute9InMB 
{ 
    get {return extensionattribute9 / 1024m;} 
}

然后选择要在视图中显示的属性。 hacky方式是直接在视图中进行计算。

答案 1 :(得分:0)

首先,DisplayNameFor辅助方法返回模型属性的显示名称,因此您不希望使用它来显示该值。

要将字节转换为兆字节,您可以考虑编写扩展方法并使用它。

public static class DecimalExtensions
{
    public static decimal? ToMegaBytes(this decimal? value)
    {
        if (value != null)
        {
            return value / 1024;
        }
        return null;
    }
}

并在您的视图中

<span>@Model.extensionattribute9.ToMegaBytes()</span>