MVC3 Decimal truncated to 2 decimal places on edit

前端 未结 3 1465
一向
一向 2020-12-05 02:48

I\'m running MVC3 with Razor and noticed that decimal values are truncated to 2 decimal places when in edit mode. I\'ve managed to get round it by annotating my property wit

3条回答
  •  遥遥无期
    2020-12-05 03:32

    That's how the default Decimal editor template is defined:

    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
    
    <%= Html.TextBox("", ModelValue, new { @class = "text-box single-line" }) %>
    

    Notice the {0:0.00} format.

    So you have two possibilities:

    1. Use double instead of decimal as type in your model
    2. Modify the default editor template by creating a custom ~/Views/Shared/EditorTemplates/Decimal.cshtml which might simply look like this:

      @Html.TextBox(
          "", 
          ViewData.TemplateInfo.FormattedModelValue, 
          new { @class = "text-box single-line" }
      )
      

    You probably might want to modify the display template as well.

提交回复
热议问题