Вот как я бы подошел к этой проблеме: та же общая техника будет работать на любом сайте. В этом контексте DNN - просто обычный веб-сайт ASP.Net. Сначала посмотрите на JavaScript, который запускается при нажатии на обновление:
__doPostBack('dnn$ctr374$EditHTML$cmdUpdate','')
Найдите метод __doPostBack:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
Это стандартный метод doPostBack (), используемый во многих формах ASP.Net. Отсюда видно, что вы хотите заполнить скрытые поля __EVENTTARGET и __EVENTARGUEMENT соответствующими значениями из вызова метода и отправить форму.
Конечно, вам также необходимо заполнить данные, которые вы действительно хотите сохранить, в поле ввода для текстового поля. Вероятно, будет проще сделать это, если вы используете режим основного текстового поля модуля HTML, тогда вам просто нужно установить значение текстовой области, а не выяснить, куда вставить значение в fckEditor, и метод будет все еще работает, если сайт настроен на использование поставщика Telerik вместо поставщика fck.
Одна вещь, на которую следует обратить внимание, это то, что имя элемента управления может время от времени меняться, поэтому вы должны быть уверены, что читаете правильные идентификаторы для цели события, а текстовые области не просто жестко кодируют что-то.