Проблема в том, что шаблон рендеринга должен использовать FormField. Это всегда отображает значение в формате: 1,989 & nbsp; . Чтобы решить эту проблему, обработанный текст необходимо перехватить и изменить, чтобы получить желаемый результат. Вот два подхода к решению этой проблемы:
1. Написать пользовательский элемент управления, унаследованный от NumberField
Методы RenderFieldForDisplay и RenderFieldForInput могут быть переопределены для обеспечения желаемого результата. Дополнительные свойства могут быть добавлены в элемент управления для описания дополнительного поведения.
Плюсы: никаких изменений в шаблонах рендеринга не требуется.
2. Напишите пользовательский элемент управления для использования в шаблоне рендеринга
Элемент управления, который (например) использует регулярные выражения для изменения текста, может обтекать элемент управления FormField.
<SharePoint:RenderingTemplate ID="YearField" runat="server">
<Template>
<RX:RegexManipulatorControl runat="server"
Mode="Replace"
Expression=","
Replacement="">
<SharePoint:FormField runat="server"/>
</RX:RegexManipulatorControl>
</Template>
</SharePoint:RenderingTemplate>
Плюсы: универсальное решение может использоваться для любого типа поля.