Я унаследовал некоторый код, который мне нужен для отладки. Это не работает в настоящее время. Моя задача - заставить его работать. Никаких других требований не было дано мне. Нет, это не домашняя работа, это работа по уходу за кошмаром.
ASP.Net (Framework 3.5), C #, jQuery 1.4.2. Этот проект активно использует jQuery и AJAX. На странице есть раскрывающийся список, который при выборе элемента должен добавить этот элемент (это пользователь) к объекту в базе данных.
Для этого предыдущий программист сначала при загрузке страницы динамически загружает всю страницу через AJAX. Для этого у него есть 5 делителей, и каждый загружается из вызова jQuery на другую полную страницу веб-сайта.
Каким-то образом HTML, BODY и все остальное убирается, а содержимое div загружается вместе с содержимым страницы aspx. Что кажется мне невероятно неправильным, поскольку браузер волшебным образом удаляет теги html, head, body, form и объединяет их с существующими тегами html head body form.
Кроме того, поскольку страница «content» возвращается в виде строки, предыдущий программист запускает этот код перед добавлением в div:
function CleanupResponseText(responseText, uniqueName) {
responseText = responseText.replace("theForm.submit();", "SubmitSubForm(theForm, $(theForm).parent());");
responseText = responseText.replace(new RegExp("theForm", "g"), uniqueName);
responseText = responseText.replace(new RegExp("doPostBack", "g"), "doPostBack" + uniqueName);
return responseText;
}
Когда сам выпадающий список запускает событие onchange, здесь запускается код:
function SubmitSubForm(form, container) {
//ShowLoading(container);
$(form).ajaxSubmit( {
url: $(form).attr("action"),
success: function(responseText) {
$(container).html(CleanupResponseText(responseText, form.id));
$("form", container).css("margin-top", "0").css("padding-top", "0");
//HideLoading(container);
}
}
);
}
В IE возникает сообщение об ошибке «Ошибка времени выполнения Microsoft JScript: объект не поддерживает это свойство или метод», что, как мне кажется, должно быть в том, что метод $ (form) .ajaxSubmit не поддерживает есть.
Что этот код действительно пытается сделать? Я так обернулся прямо сейчас, что думаю, что мой единственный вариант - это все бросить и начать все сначала. Но я бы предпочел не делать этого без необходимости.
Этот код хорош? Работает ли он против .Net, и поэтому у нас возникают проблемы?