отдельные числа через запятую с asp.net mvc - PullRequest
8 голосов
/ 28 марта 2011

Я работаю над приложением MVC2.

Я использую аннотации данных для проверки данных (как на стороне клиента, так и на стороне сервера). У меня есть несколько полей в моей модели, которые допускают только десятичные значения. Как только пользователь введет десятичные значения, я хочу, чтобы он был преобразован в разделенный запятыми более читаемый формат. Например, 1200 должно быть отформатировано до 1200, а 500 должно остаться без изменений.

Вот моя модель:

public virtual GrossFee? Fee { get; set; }

А вот как это выглядит:

%: Html.TextBoxFor(model => model.GrossFee)%>

Любые идеи по этому поводу будут высоко оценены.

Спасибо!

Ответы [ 5 ]

11 голосов
/ 28 марта 2011

Вместо Html.TextBoxFor вы можете использовать Html.EditorFor и иметь представление относительно аннотаций данных, подобных этому:

Модель:

(я не знаю, что такое GrossFee?, но давайте предположим, что это десятичное число)

[DisplayFormat(DataFormatString = "{0:0,0}")]
public virtual Decimal? Fee { get; set; }

Вид:

Html.EditorFor(model => model.GrossFee)

Вам также может понадобиться настроить HtmlEncode и ApplyFormatInEditMode для соответствия вашему конкретному приложению.

Все, что преобразует содержимое текстового поля в сгруппированные числа запятых, как только они введены (т. Е. До обратной записи), должно основываться на javascript.

5 голосов
/ 31 марта 2011
[DisplayFormat(DataFormatString = "{0:n}")]
public virtual GrossFee? Fee { get; set; }

надеюсь, это поможет вам

4 голосов
/ 15 марта 2012
drPastDateDetail[strMS] = decValue.ToString();

Вместо приведенной выше строки, если вы хотите отобразить числовое значение через запятую, вам поможет следующий код:

String Test = String.Format("{0:#,#.##}",decValue);
drPastDateDetail[strMS]=Test;
0 голосов
/ 28 марта 2019

Я поместил эту строку кода в моем контроллере

public ActionResult Index()

{

        TempData["TotalPaid"] = totalAmountPaid.ToString("#,###.00");

}

And i put this in my View

   <table>
       <tr>
         <td style="color:green; font-weight:bold" >
            Amount Paid: $@TempData["TotalPaid"]
       </td>
    </tr>        
</table>
0 голосов
/ 28 марта 2011

Вы должны иметь возможность использовать формат в tostring

var foo = 1200.2;
var bob = foo.ToString("#,###.00##");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...