Вызов функции JavaScript при вызове позади Javascript перед перенаправлением на другую страницу

0

У меня есть функция Javascript которую мне нужно вызвать по коду в vb.net. Основная проблема заключается в том, что он не называется должным образом, потому что перед этой функцией выполняется перенаправление на следующую страницу. Я не хочу вызывать эту функцию в событии Onclick кнопки или что-то вроде этого, я хочу вызвать ее после некоторого определенного условия в коде. Я уже пробовал следующие решения, пожалуйста, дайте мне знать, если у вас есть другие предложения.

System.Web.UI.ScriptManager.RegisterClientScriptBlock(Page, Me.GetType(), "Script", "ShowEntryPermForm();", True)

Page.ClientScript.RegisterStartupScript(Me.GetType(), "Window", "ShowEntryPermForm();", True)

Описание проблемы: добавлено из комментария

Сценарий заключается в том, что в функции javascript я проверил различные условия, связанные с проектом, и он открывает всплывающее окно, в котором пользователь вводит свои комментарии.

Это не обязательно, каждый раз, когда функция откроет всплывающее окно. Но по умолчанию страница перенаправляется на новую страницу, так как функции Javascript и перенаправление в другое окно запускаются при нажатии кнопки.

Но теперь мое требование изменилось, теперь я должен вызвать функцию из кода позади в определенном состоянии. Надеюсь, ты получишь это сейчас

  • 0
    Почему вы хотите перенаправить, когда вы хотите выполнить javascript ? Какой реальный сценарий нужно кодировать?
  • 0
    Привет Мурали, Спасибо за ваш ответ. Сценарий состоит в том, что в функции javascript я проверил различные условия, связанные с проектом, и он открывает всплывающее окно, где пользователь вводит свои комментарии. Нет необходимости каждый раз, когда функция открывает всплывающее окно. Но по умолчанию страница перенаправляется на новую страницу, так как функции Javascript и перенаправление в другое окно запускаются по событию нажатия кнопки. Но теперь мое требование изменилось, теперь я должен вызывать функцию из кода в определенном состоянии. Надеюсь, ты понял это сейчас.

2 ответа

0

Вы можете сделать это следующим образом.

window.onbeforeunload = function()
{
    //your code goes here
    return "";
}

Если вы вернете что-нибудь здесь, браузер отобразит и спросит пользователя, следует ли оставить страницу. В вашем случае вам не нужно ничего возвращать, кроме запуска кода.

0

Единственный способ - разделить код и javascript так, чтобы они не полагались друг на друга

например, вы создаете скрытую кнопку asp: с остальным кодом на стороне сервера

сторона сервера:

if(...) then
page.ClientScript.RegisterStartupScript(Me.GetType(), "Window", "ShowEntryPermForm();", True)
else
  page.ClientScript.RegisterStartupScript(Me.GetType(), "Window", "otherfunction();", True)
    end if

sub IDServersideHiddenbutton(obj as object ,e as eventargs)handles IDServersideHiddenbutton.click
rest of the server side code including the redirect
end sub

сторона клиента :

   javascript ShowEntryPermForm()
        {
      //  javascript code

    $("#IDServersideHiddenbutton").click();
    }

javascript otherfunction()
{
//just the click 

$("#IDServersideHiddenbutton").click();
}

Я действительно не знаю вашу структуру кода, но вы можете манипулировать ею, чтобы работать с этой идеей

Ещё вопросы

Сообщество Overcoder
Наверх
Меню