На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> asp:Button очередность вызова скрипта и обработчика
    Кнопка находится в модальном окне!
    ExpandedWrap disabled
         <asp:Button ID="btnCrop" runat="server" Text="Сохранить" onclientclick="FormExit()" />


    задача кнопки:

    1. Отработать код со стороны сервера
    ExpandedWrap disabled
      Protected Sub btnCrop_Click(sender As Object, e As EventArgs) Handles btnCrop.Click
      End Sub


    2. Вызвать javascript функцию
    ExpandedWrap disabled
      <script type="text/javascript">
          function FormExit(){
              window.parent.dellCropper(); // тут произайдет закрытие окна
          }
          </script>

    так:
    asp:Button ID="btnCrop" runat="server" Text="Сохранить" onclientclick="FormExit()"
    в обработчик со стороны сервера я не попадаю, зато отрабатывает скрипт,
    а так:
    asp:Button ID="btnCrop" runat="server" Text="Сохранить" попадаю. Но конечно окно продолжает висеть.
      Цитата -=VIRUS=- @
      в обработчик со стороны сервера я не попадаю, зато отрабатывает скрипт,

      ты что-то неправильно делаешь

      сначала отрабатывает клиентский скрипт, потом происходит отправка формы на сервер. по кускам кода приведенным - невозможно сказать, что именно не так.
      Цитата -=VIRUS=- @
      Handles

      этой конструкции я вообще не знаю, обработчики обычно прописываю в aspx-коде
        Цитата UncleBob @
        этой конструкции я вообще не знаю, обработчики обычно прописываю в aspx-коде

        это стандартная процедура, генерируется при клике по кнопке в графическом редакторе.

        я иначе решил проблему, прописал в обработчике кнопки
        ExpandedWrap disabled
          Dim csname As [String] = "PopupScript"
                      Dim cstype As Type = Me.[GetType]()
                      Dim cstext As New StringBuilder()
                      cstext.Append("<script type=text/javascript>")
                      cstext.Append("window.parent.dellCropper()")
                      cstext.Append("</script>")
                      Dim cs As ClientScriptManager = Page.ClientScript
                      cs.RegisterStartupScript(cstype, csname, cstext.ToString())
          Цитата -=VIRUS=- @
          прописал в обработчике кнопки

          а че так длинно-то?

          достаточно

          cs.RegisterStartupScript(cstype, csname, "window.parent.dellCropper();", true)
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0443 ]   [ 16 queries used ]   [ Generated: 2.05.24, 03:00 GMT ]