Суть в том, что существует 2 отсутствующих скрытых элемента html «eventtarget» и «eventargument», а также отсутствующая функция «__doPostBack».
Данные отсутствуют в DOM.
Я пробовал все исправления, перечисленные для этого, и никто не работал.Однако при использовании комбинации jquery и javascript существует ненавязчивое решение. Добавьте это в свой javascript на готовый документ, и вы отправитесь на гонки (это гораздо более быстрая альтернатива, чем установка .net framework 4.5 на вашем сервере, хотя, если вы можете установить 4.5, это путь):
if ($('#__EVENTTARGET').length <= 0 && $('#__EVENTARGUMENT').length <= 0) {
$('#YOUR_ASPNET_FORMID').prepend('<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /><input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />');
}
if (typeof __doPostBack == 'undefined') {
__doPostBack = function (eventTarget, eventArgument) {
var theForm = document.forms['YOUR_ASPNET_FORMID'];
if (!theForm) {
theForm = document.YOUR_ASPNET_FORMID;
}
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
};
}
Я понимаю, что некоторые из указанных установок 4.5 исправляют это. Я определенно рекомендовал бы это. Однако, если вы похожи на меня, работая на общедоступном веб-сайте предприятия с системой cms, испеченной в .net 4, это может быть просто более простым решением, в отличие от возможного появления новых ошибок, созданных при обновлении вашей платформы.
Эти темы также заслуживают чтения, особенно для исправления файла «.browser» на стороне сервера! http://stackoverflow.com/questions/18485339/dopostback-failing-in-ie-11-windows-8-1 и http://stackoverflow.com/questions/19915720/dopostback-is-undefined-in-ie11 – AFract