2013-05-15 1 views
0

Очень расстроен !!!!EditorFor ApplyFormatInEditMode Валюта не работает Редактировать

На начальном дисплее валюта отображается нормально, но когда я изменяю значение, оно не форматируется. Я создаю новый проект для иллюстрации.

public class TestViewModel 
{ 
    [DisplayName("Text Box For")] 
    public decimal Cost1 { get; set; } 

    [DisplayName("Editor For")] 
    [DisplayFormat(DataFormatString = "{0:C}", ApplyFormatInEditMode = true)] 
    public decimal Cost2 { get; set; } 
} 

@model EditorForTest.Models.TestViewModel 
<br/> 
@Html.LabelFor(m => m.Cost1) 
@Html.TextBoxFor(m => m.Cost1, new { Value = String.Format("{0:C}", Model.Cost1) }) 
<br/> 
@Html.LabelFor(m => m.Cost2) 
@Html.EditorFor(m => m.Cost2) 
<br/> 

    public ActionResult Test() 
    { 
     return View(CurrentTest); 
    } 

    private static TestViewModel _currentTest; 

    private static TestViewModel CurrentTest 
    { 
     get { return _currentTest ?? (_currentTest = GetNewTest()); } 
     set { _currentTest = value; } 
    } 

    public static TestViewModel GetNewTest() 
    { 
     TestViewModel testViewModel = new TestViewModel(); 

     testViewModel.Cost1 = 1234; 
     testViewModel.Cost2 = 1234; 

     return testViewModel; 
    } 

Это выглядит нормально, когда она открывает:

enter image description here

Но при редактировании его форматирование теряется.

enter image description here

Что я делаю не так ?????

ответ

0

Ваш сценарий работает с чистым проектом MVC4. У вас должно быть что-то еще, вызывающее эту проблему, убедитесь, что у вас нет десятичной версии EditorTemplate, поскольку это приведет к переопределению DisplayFormat по умолчанию.

 Смежные вопросы

  • Нет связанных вопросов^_^