Это следующее из следующего вопроса:
MVC 3 + $ .ajax - реакция, кажется, кэширует вывод из частичного просмотра
, есть подробное описание проблемы там. Тем не менее, теперь мне удалось сузить проблему, что, кажется, со помощниками HTML.Editorlor, следовательно, новый вопрос.
Вопрос:
Я публикую данные на сервер, используя $ .ajax, а затем вернуть HTML частичного представления, который содержит элементы управления входным элементом. Проблема в том, что, несмотря на передачу вновь созданного объекта к модели частичных просмотров, различные @ html.editoryfor и @ html.dropdownlistclor and @ html.dropdownlistclor.
Я могу доказать, что модель правильно передала в новом объекте к помощникам, путем печати значения рядом с HTML-помощником. IE:
@Html.EditorFor(model => model.Transaction.TransactionDate)
@Model.Transaction.TransactionDate.ToString()
Как показывает следующие изображения, @ html.editorfor возвращает неправильные данные:
[Обратите внимание, что значение рядом с текстовым ящиком Comentario - это время дата, поскольку я тестировал, заменяя значения значения по умолчанию со значением, которое изменяется с каждым постом, т. Е. DateTime.]
, если я заменил @ HTML.Editorfor для транзационногоddate с простым старым @ html.textbox ():
@Html.TextBox("Transaction_TransactionDate", Model.Transaction.TransactionDate)
затем он отображает правильное значение транзакции для новой цели транзакции, т. Е. DateTime.minvalue (01/01/0001 ...).
Следовательно, ...
Проблема с помощью помощников @ html.editorlors. Проблема также происходит с TextBoxFor и DropDownlistFor.
Проблема, являющаяся тем, что эти помощники, кажется, кэшируют старое значение.
Что я делаю не так ??!
Я только что попытался отладовать в шаблоне пользовательских редактора для дат, а также там, viewdata.templateInfo.formattedModelvalue показывает правильное значение, т. Е. "01/01/0001". Однако после того, как он попадет в Fiddler, ответ показывает старую дату, например, «01/09/2011» на изображении выше.
В результате я просто думаю, что здесь происходит некоторая кэширование, но у меня нет ничего, поэтому ничто не имеет никакого смысла.