На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> ajaxToolkit:ModalPopupExtender+ajaxToolkit:AsyncFileUpload+ImageCropper , знаю! всех задрал уже.
    Вот еще один ступор, по сути выглядит все красиво, но не работает (работает не так как хотелось бы)
    прикол в том что модальное окно грузится вместе с основным, а при нажатии кнопки editBox_OK отображает его, по логике работы у меня туда подгружается фрейм, (хотя я вот тут пишу и думаю надо переделать на контрол) и так фрейм, во фрейм грузится редактор фото, который цепляет картинку загруженную юзером.
    но так как это все работает через ж*пу, получается что фрейм загружен до того, как юзер увидел страницу.

    ExpandedWrap disabled
      <asp:Button runat="server" ID="btnEditCustomer" Text="Edit" />
       
       
      <asp:Panel runat="server" ID="pnlEditCustomer">
      <div class="col"><table>
      <tr><td><div style="height: 450px; width: 400px;">
          <iframe seamless src="Handler/Cropper.aspx" frameborder="0" scrolling="no">
              Ваш браузер не поддерживает плавающие фреймы!
          </iframe>
      </div></td></tr>
      <tr>
          <td>
              <input id="editBox_OK" type="button" value="button" />
          </td>
      </tr>
      </table></div>
      </asp:Panel>
      <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender"
          runat="server"  
          TargetControlID="btnEditCustomer"
          PopupControlID="pnlEditCustomer"
          OkControlID="editBox_OK"
          OnOkScript="yes()"/>


    теперь вопросы:
    у ajaxToolkit:AsyncFileUpload есть вызываемые java функции

    ExpandedWrap disabled
      <script type="text/javascript">
              function uploadError(sender, args) {
                  document.getElementById('lblStatus').innerHTML = args.get_fileName(), "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
              }
       
              function StartUpload(sender, args) {
                  var name_input = document.getElementById('lblStatus');
                  name_input.innerHTML = "Ожидайте, идет загрузка файла.";
              }
       
              function UploadComplete(sender, args) {
                  var filename = args.get_fileName();
                  var contentType = args.get_contentType();
                  var text = "Файл " + filename + " размером " + args.get_length() + " байт";
                  if (contentType.length > 0) {
                      text += " был успешно загружен.";
                  }
                  document.getElementById('lblStatus').innerHTML = text;
              }
          </script>


    можно ли как то из UploadComplete
    вызвать отображение ajaxToolkit:ModalPopupExtender не используя
    <asp:Button runat="server" ID="btnEditCustomer" Text="Edit" />

    и второй вопрос
    в редакторе(ImageCropper) есть скрипт
    ExpandedWrap disabled
      <script type="text/javascript">
          function getDataFromFile(dataSource, targetControl) {
              var myAjaxObject = false;
              if (window.XMLHttpRequest) {
                  myAjaxObject = new XMLHttpRequest();
              }
              else {
                  if (window.ActiveXObject) {
                      myAjaxObject = new ActiveXObject("Microsoft.XMLHTTP");
                  }
              }
              if (myAjaxObject) {
                  myAjaxObject.open("GET", dataSource);
                  myAjaxObject.onreadystatechange =
           function () {
               if (myAjaxObject.readyState == 4 && myAjaxObject.status == 200) {
                   var targetObj = document.getElementById(targetControl);
                   targetObj.innerHTML = "<img src= " + dataSource + ">";
               }
           }
                  myAjaxObject.send(null);
              }
          }
      </script>

    вызывается он getDataFromFile('Handler/HandlerAjax.ashx','iddivforimage')
    загружая картинку, можно ли из UploadComplete както вызвать, getDataFromFile который находится в пользовательском контроле.
    да и глупый попутный вопрос
    так работать будет есть код редактора на форме загрузчика
    ExpandedWrap disabled
      function UploadComplete(sender, args) {
                  var filename = args.get_fileName();
                  var contentType = args.get_contentType();
                  var text = "Файл " + filename + " размером " + args.get_length() + " байт";
                  if (contentType.length > 0) {
                      text += " был успешно загружен.";
                  }
                  document.getElementById('lblStatus').innerHTML = text;
                  getDataFromFile('Handler/HandlerAjax.ashx','iddivforimage');
              }
      Цитата -=VIRUS=- @
      но так как это все работает через ж*пу, получается что фрейм загружен до того, как юзер увидел страницу.

      http://www.asp.net/web-forms/videos/ajax-c...xtender-control

      6:20

      Цитата -=VIRUS=- @
      вызываемые java функции

      ты java видал вообще? :rolleyes: :crazy:

      Цитата -=VIRUS=- @
      можно ли как то из UploadComplete
      вызвать отображение ajaxToolkit:ModalPopupExtender не используя
      <asp:Button runat="server" ID="btnEditCustomer" Text="Edit" />

      можно кликнуть на ссылку программмно, или открыть ModalPopup тоже программно, проще кликнуть

      Цитата -=VIRUS=- @
      загружая картинку, можно ли из UploadComplete както вызвать, getDataFromFile который находится в пользовательском контроле.

      что значит "находится в пользовательском контроле"?
        Цитата UncleBob @
        что значит "находится в пользовательском контроле"?

        все что находится в Cropper.aspx можно копипастом собрать в userControl по сути тотже .ashx только подключается как контрол
        а вот как ему параметры передавать я хз, примеры из c# не подходят синтаксис сильно отличается. Я параметры передавал через глобальные переменные(структуры). Буквально на неделе про меню вопрос был, я тупо отладил это меню на обычной форме и скопировал его в контрол. Да бы кода по меньше было в тех формах где основная логика. Также и тут Cropper.aspx обычная страница представляющая из себя графический редактор. Да и редактором сложно назвать, просто подрезает картинку по краям. Мне нужно ему как то указать что резать (эта информация есть тут: Handler/HandlerAjax.ashx) на форме Cropper.aspx есть javascript "getDataFromFile" который дергает с Handler/HandlerAjax.ashx картинку и грузит в <div id="iddivforimage"></div>, но все это сделать нужно после того как юзер ее загрузил.
          Цитата UncleBob @

          Цитата (-=VIRUS=- @ Сегодня, 20:53)
          но так как это все работает через ж*пу, получается что фрейм загружен до того, как юзер увидел страницу.

          http://www.asp.net/web-forms/videos/ajax-c...xtender-control

          6:20

          я может не верно выразился, отображается все корректно, при нажатии кнопки открывается модальное окно, но содержимое в это окно было загружено в месте с основной страницей, что недопустимо т.к. в модальном окне фрейм. Получается что после действий на основной странице содержимое во фрейме не актуально.
            Ну тут хватает клиентского программизма, я не уверен, что смогу тебе объяснить, а писать это самому нет особой возможности. Тебе надо по нажатию на кнопку грузить нужный фрейм. Делается это джаваскриптом.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


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