В моем приложении asp.net две кнопки вызывают функцию javascript с именем refreshView, ниже показана функция refreshView.__doPostBack не работает в сафари или firefox, работает в IE
function RefreshView() {
__doPostBack('ButtonApply', '')
window.parent.location.href = "dashboardtree.aspx"
}
В IE это работает правильно, но в Firefox и сафари страница обновляется (из-за window.parent.location) - но никогда не называет doPostBack (я был в состоянии сказать это с помощью точек трассировки и sub, который называется хранением значений в базе данных, значения также не сохраняются, sub никогда не попадает). Ниже приведена первая строка sub.
Private Sub ButtonApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonApply.Click
Может ли кто-нибудь понять, почему это не сработает? Я решил, что всегда могу заменить doPostBack на pageMethods и создать новую функцию sub /, но я хотел бы завершить это так, как сейчас. Спасибо.
Вы правы, удалив window.parent.location.href позволит удалять суб. Теперь, как я могу получить страницу для обновления, как если бы вы нажали кнопку обновления? Сообщение назад или нет, не имеет значения, так как сбой был удален с помощью doPostBack и сохранил значения, которые мне нужны для db, эти значения возвращаются обратно из db во время загрузки страницы. – njj56
об ответе.redirect - это не сработает для меня, потому что страница, содержащая сообщение назад, является iframe внутри другой страницы, раньше я использовал window.parent.location.href для этого, но что я должен использовать вместо этого? Мне нужно обновить родительский, а не текущий. – njj56
Извиняюсь, я пропустил окно. Тогда вам было бы лучше использовать ajax для вызова метода для выполнения вашей обработки вместо обратной передачи. Затем вы получите ответ от ajax после завершения. Как только вы получите обратный вызов ajax, вы будете делать перенаправление window.parent. – Jeremy