MVC 3 - Html.EditorFor, кажется, кэширует старые значения после вызова $ .ajax

Это продолжение следующего вопроса:

MVC 3 + $ .ajax - ответ, кажется, кэширует вывод от частичного представления

Там есть подробное описание проблемы. Однако теперь мне удалось сузить проблему, которая, кажется, связана с помощниками Html.EditorFor, отсюда и новый вопрос.

Проблема:

Я отправляю данные на сервер, используя $ .ajax, затем возвращаю html частичного представления, которое содержит элементы управления вводом. Проблема заключается в том, что, несмотря на передачу вновь созданного объекта в модель Partial Views, различные помощники @ Html.EditorFor и @ Html.DropDownListFor возвращают OLD DATA !.

Я могу доказать, что модель правильно передала новый объект помощникам, напечатав значение рядом с помощником Html. То есть:

@Html.EditorFor(model => model.Transaction.TransactionDate) 
@Model.Transaction.TransactionDate.ToString()

Как показано на следующем рисунке, @ Html.EditorFor возвращает неверные данные:

[Обратите внимание, что значение рядом с текстовым полем Comentario - это время даты, потому что я тестировал замену значений по умолчанию на значение, которое будет меняться с каждым постом, то есть DateTime.]

Если я заменим @ Html.EditorFor для TransactionDate на простой старый @ Html.TextBox ():

@Html.TextBox("Transaction_TransactionDate", Model.Transaction.TransactionDate)

Затем он отображает правильное значение TransactionDate для нового объекта Transaction, то есть DateTime.MinValue (01/01/0001 ...).

Следовательно...

Проблема в помощниках @ Html.EditorFor. Проблема также происходит с TextBoxFor и DropDownListFor.

Проблема в том, что эти помощники, кажется, кешируют старое значение.

Что я делаю неправильно??!

РЕДАКТИРОВАТЬ:

Я только что попробовал отладку в пользовательском шаблоне редактора для дат, и там ViewData.TemplateInfo.FormattedModelValue показывает правильное значение, то есть «01/01/0001». Однако, как только он попадает в Fiddler, в ответе отображается старая дата, например, «01/09/2011» на изображении выше.

В результате я просто думаю, что здесь происходит какое-то кеширование, но я его не настроил, так что ничего не имеет смысла.

Ответы на вопрос(5)

Ваш ответ на вопрос